CreateEllipticRgnIndirect 楕円形のリージョンの作成

Cの宣言:

HRGN CreateEllipticRgnIndirect(CONST RECT *r);

VBの宣言:

Declare Function CreateEllipticRgnIndirect Lib "gdi32" (ByRef r As RECT) As Long

説明:

楕円形のリージョンを作成する。

CreateEllipticRgnとの違いは、境界長方形の座標をRECT構造体で指定する点である。

引数の意味は以下の通り。
r 作成する楕円形に外接する境界長方形の座標。

戻り値は作成結果のリージョンのハンドルである。関数の実行に失敗した場合、NULLが返される。

VBのサンプル:

CreateEllipticRgnIndirectを使用して二つの円で構成されるリージョンを作成し、ピクチャボックスに描画する。
' 交差する二つの円からなるリージョンを描画
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 = CreateEllipticRgnIndirect(r)
    
    r.Left = 50
    r.Top = 50
    r.Right = 150
    r.Bottom = 150
    
    hRgn2 = CreateEllipticRgnIndirect(r)
    
    'リージョンの結合
    CombineRgn hRgn1, hRgn1, hRgn2, RGN_XOR
    
    'リージョンの描画
    FillRgn Picture1.hDC, hRgn1, GetStockObject(WHITE_BRUSH)

    '後処理
    DeleteObject hRgn1
    DeleteObject hRgn2

End Sub



(original text:2000/02/13 更新)

本ドキュメントの内容は保証しません。本ドキュメントによって生じた結果について、一切の責任を負いません。