BOOL FrameRgn( HDC hDC, HRGN hRgn, HBRUSH hBrush, int Width, int Height);
Declare Function FrameRgn Lib "gdi32" ( _
ByVal hDC As Long, _
ByVal hRgn As Long, _
ByVal hBrush As Long, _
ByVal Width As Long, _
ByVal Height As Long) As Long
引数の意味は以下の通り。
| hDC | 描画先のデバイスを識別するデバイスコンテキストのハンドル。 |
| hRgn | 描画するリージョンのハンドル。 |
| hBrush | 描画に使用するブラシのハンドル。 |
| Width | 縦方向の境界線を描画する際の幅。 |
| Height | 横方向の境界線を描画する際の高さ。 |
戻り値は、関数の実行結果を表す真偽値である。
'リージョンの枠を描画
Private Sub Command1_Click()
Dim hRgn1 As Long
Dim hRgn2 As Long
'リージョンの作成
hRgn1 = CreateEllipticRgn(0, 0, 100, 100)
hRgn2 = CreateEllipticRgn(50, 50, 150, 150)
'リージョンの結合
CombineRgn hRgn1, hRgn1, hRgn2, RGN_XOR
'リージョンの枠を描画
FrameRgn Picture1.hDC, hRgn1, GetStockObject(WHITE_BRUSH), 10, 10
'後処理
DeleteObject hRgn1
DeleteObject hRgn2
End Sub