设为首页收藏本站

Delphi乐园 开发者的家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2581|回复: 2

Delphi乐园 WinAPI: CreateRectRgn、CreateRectRgnIndirect、FillRgn、FrameRgn [复制链接]

Rank: 8Rank: 8

  • TA的每日心情
    奋斗
    2014-4-23 19:02:09
  • 签到天数: 42 天

    [LV.5]常住居民I

    金钱
    67776
    13436
    0
    在线时间
    25 小时
    阅读权限
    10
    精华
    0
    积分
    0
    UID
    2050
    发表于 2012-4-17 00:03:36 |显示全部楼层
    分享到:
    本例效果图:
    5 V- \0 M1 t: v) Q& P/ Q5 [2 c( P0 G- b/ p5 [4 G2 P
    o_85263.png

    unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs;type  TForm1 = class(TForm)    procedure FormPaint(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormPaint(Sender: TObject);const  n = 50;var  Rgn: HRGN;  x1,y1,x2,y2: Integer;begin  x1 := n;  y1 := n div 2;  x2 := ClientWidth - n;  y2 := ClientHeight - n;  {建立矩形区域}  Rgn := CreateRectRgn(x1, y1, x2, y2);  //Rgn := CreateRectRgnIndirect(Rect(x1, y1, x2, y2)); {目的同上一行, 只是参数要一个矩形结构}  {填充区域}  Canvas.Brush.Color := clSilver;  Canvas.Brush.Style := bsCross;  FillRgn(Canvas.Handle, Rgn, Canvas.Brush.Handle);  {绘制区域边界}  Canvas.Brush.Color := clRed;  Canvas.Brush.Style := bsSolid;  FrameRgn(Canvas.Handle, Rgn, Canvas.Brush.Handle, 2, 2);  DeleteObject(Rgn);end;end.
    + F( }& M9 A) q: w- M
    & S3 Q( h8 ]" L8 a/ ^4 z. S icon_logo.png
    该贴已经同步到 youqingxue521的微博
    啊啊啊啊啊啊啊啊啊啊啊
    奥特曼xaZZ 该用户已被删除
    发表于 2012-4-17 10:10:10 |显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    空间、域名、优惠稳定。香港空间1元,美国2元。

    手机版|Delphi乐园 ( 冀ICP备11023363号-7 )    

    GMT+8, 2016-10-23 02:16

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    公网安备 14090202000504号

    回顶部