再学 GDI+[80]: 区域(9) - GetHRGN - 转为 GDI 的区域句柄
2008-06-30 21:59
344 查看
本例效果图:
代码文件:
窗体文件:
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls; type TForm1 = class(TForm) procedure FormPaint(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} uses GDIPOBJ, GDIPAPI; procedure TForm1.FormPaint(Sender: TObject); var g: TGPGraphics; b: TGPBrush; rgn: TGPRegion; RegionHandle: HRGN; begin g := TGPGraphics.Create(Canvas.Handle); b := TGPHatchBrush.Create(HatchStyleDiagonalCross, aclSilver, aclLemonChiffon); rgn := TGPRegion.Create(MakeRect(40.0, 40, ClientWidth-80, ClientHeight-80)); g.FillRegion(b, rgn); RegionHandle := rgn.GetHRGN(g); Canvas.Brush.Color := clRed; FrameRgn(Canvas.Handle, RegionHandle, Canvas.Brush.Handle, 2, 2); DeleteObject(RegionHandle); rgn.Free; b.Free; g.Free; end; end.
窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 162 ClientWidth = 197 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Position = poDesktopCenter OnPaint = FormPaint PixelsPerInch = 96 TextHeight = 13 end
相关文章推荐
- 再学 GDI+[76]: 区域(5) - GetDataSize、GetData
- 易语言-API 取窗口或者组件句柄的 屏幕坐标并限制区域 GetWindowRect ClipCursor getwindowrect GetClientRect WindowFromPoint
- 再学 GDI+[77]: 区域(6) - GetRegionScans - 获取区域中的所有矩形
- GDI+ 学习记录(29): 区域 - Region
- C#下實現雙緩沖描畫高頻曲線(GDI+結合GDI)
- 将数组中的RGBA序列绘制出来——GDI、MFC_GDI、GDI+实现
- C# GDI+ 窗体绘图刷新重绘问题 GDI+绘图问题
- 再学 GDI+[63]: 路径画刷(3) - SetFocusScales、GetFocusScales
- 再学 GDI+[72]: 区域(1) - 建立区域
- 再学 GDI+[82]: TGPImage(2) - GetThumbnailImage - 略缩图
- GDI GDI+ 的区别
- Android获取窗口可视区域大小: getWindowVisibleDisplayFrame()
- “GDI“ 和“GDI+”有区别吗?
- 从GDI+的Bitmap对象得到设备无关位图句柄
- Windows GDI和GDI+编程实例剖析(3)
- Duilib中将GDI换成GDI+
- 【笨嘴拙舌WINDOWS】GDI绘制区域
- GDI+和GDI的一些基本图形描绘方法的对比
- 得到视图的句柄((CFrameWnd*)(AfxGetApp()->m_pMainWnd))->GetActiveView()->m_hWnd;
- post带参数转为get