HRGN CreateREctRgnIndirect(CONST RECT *r);
Declare Function CreateRectRgnIndirect Lib "gdi32" (ByRef r As RECT) As Long
CreateRectRgnとの違いは、長方形の座標をRECT構造体で指定する点である。
引数の意味は以下の通り。
| r | 長方形の座標。 |
戻り値は、作成結果のリージョンのハンドルである。関数の実行に失敗した場合、NULLが返される。
'二つの交差する長方形からなるリージョンを描画
Private Sub Command1_Click()
Dim hRgn1 As Long
Dim hRgn2 As Long
Dim r As RECT
'リージョンの作成
r.Left = 0
r.Top = 0
r.Right = 100
r.Bottom = 100
hRgn1 = CreateRectRgnIndirect(r)
r.Left = 50
r.Top = 50
r.Right = 150
r.Bottom = 150
hRgn2 = CreateRectRgnIndirect(r)
'リージョンの結合
CombineRgn hRgn1, hRgn1, hRgn2, RGN_XOR
'リージョンの描画
FillRgn Picture1.hDC, hRgn1, GetStockObject(WHITE_BRUSH)
'後処理
DeleteObject hRgn1
DeleteObject hRgn2
End Sub