设为首页收藏本站

Delphi乐园 开发者的家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2504|回复: 1

Delphi乐园 WinAPI: CreateEllipticRgn、CreateEllipticRgnIndirect - 建立椭 [复制链接]

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:55 |显示全部楼层
    分享到:
    本例效果图:
    0 K6 Y, r- W0 C% o" W
    % f# b. ~* X* S+ d, ~8 p o_85264.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 := CreateEllipticRgn(x1, y1, x2, y2);  Rgn := CreateEllipticRgnIndirect(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.
    9 C" n1 ]1 K( }# K* H- c
    0 a  ?, D# J- ?! b. { icon_logo.png
    该贴已经同步到 youqingxue521的微博
    啊啊啊啊啊啊啊啊啊啊啊
    您需要登录后才可以回帖 登录 | 立即注册

    delphi乐园微信公众号

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

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

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    公网安备 14090202000504号

    回顶部