WinAPI: CreateEllipticRgn、CreateEllipticRgnIndirect - 建立椭圆区域
2008-05-26 15:20
453 查看
本例效果图:
unit Unit1; interface uses 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.
相关文章推荐
- WinAPI: CreateBrushIndirect - 根据画刷结构建立画刷
- WinAPI: CreatePolygonRgn - 建立多边形区域
- WinAPI: CreatePolyPolygonRgn - 建立多个多边形构成的区域
- WinAPI: CreatePenIndirect - 根据笔的参数结构建立画笔
- 【转】WinAPI: CreateFontIndirect - 根据字体结构建立逻辑字体
- WinAPI: CreateFontIndirect - 根据字体结构建立逻辑字体
- WinAPI: CreatePatternBrush - 建立位图画刷
- WinAPI: CreateRectRgn、CreateRectRgnIndirect、FillRgn、FrameRgn - 建立矩形区域
- WinAPI: ExtCreateRegion - 区域变换
- WinAPI: CreateRoundRectRgn - 建立圆角矩形区域
- WinAPI: CreateDirectoryEx - 根据模版建立文件夹
- WINAPI 区域的建立与删除实际操作注意情况
- WinAPI: ExtCreateRegion - 区域变换
- WinAPI: CreateSolidBrush - 建立实心画刷
- WinAPI: CreateHatchBrush - 建立阴影画刷
- 建立任务,OSTaskCreate()源码解析
- 建立任务,OSTaskCreate()
- 深圳市建立公交区域特许经营制度
- 建立“共享”序列【CREATE SEQUENCE OF THE SHARED】
- WinAPI: CreatePen - 建立画笔