int GetRgnBox( HRGN hRgn, LPRECT r);
Declare Function GetRgnBox Lib "gdi32" ( _ ByVal hRgn As Long, _ ByRef r As RECT) As Long
引数の意味は以下の通り。
hRgn | 取得元のリージョンのハンドル。 |
r | 取得結果の長方形の座標。 |
戻り値は、以下のフラグのいずれかである。
NULLREGION | 空のリージョンである。 |
SIMPLEREGION | 単一の長方形からなるリージョンである。 |
COMPLEXREGION | 複数の長方形からなるリージョンである。 |
ERROR | エラーが発生した。 |
'リージョンの境界長方形を描画 Private Sub Command1_Click() Dim hRgn1 As Long Dim hRgn2 As Long Dim r As RECT 'リージョンの作成 hRgn1 = CreateEllipticRgn(100, 100, 200, 200) hRgn2 = CreateEllipticRgn(50, 50, 150, 150) 'リージョンの結合 CombineRgn hRgn1, hRgn1, hRgn2, RGN_XOR 'リージョンの描画 FillRgn Picture1.hDC, hRgn1, GetStockObject(WHITE_BRUSH) GetRgnBox hRgn1, r Picture1.ScaleMode = vbPixels Picture1.Line (r.Left, r.Top)-(r.Right, r.Bottom), vbWhite, B '後処理 DeleteObject hRgn1 DeleteObject hRgn2 End Sub