HRGN CreateEllipticRgn( int LeftRect, int TopRect, int RightRect, int BottomRect);
Declare Function CreateEllipticRgn Lib "gdi32" ( _
ByVal LeftRect As Long, _
ByVal TopRect As Long, _
ByVal RightRect As Long, _
ByVal BottomRect As Long) As Long
作成の際には、作成したい楕円形に外接する境界長方形の左上隅の座標および右下隅の座標を指定する。
引数の意味は以下の通り。
| LeftRect | 境界長方形の左上隅座標の水平成分。 |
| TopRect | 境界長方形の左上隅の垂直成分。 |
| RightRect | 境界長方形の右下隅の水平成分。 |
| BottomRect | 境界長方形の右下隅の垂直成分。 |
戻り値は、作成結果のリージョンのハンドルである。関数の実行に失敗した場合、NULLが返される。
' 交差する二つの円からなるリージョンを描画
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
'リージョンの描画
FillRgn Picture1.hDC, hRgn1, GetStockObject(WHITE_BRUSH)
'後処理
DeleteObject hRgn1
DeleteObject hRgn2
End Sub