<Return[C]><Top>

CombineRgn

Declare Function Api_CombineRgn& Lib "gdi32" Alias "CombineRgn" (ByVal hRgnDest&, ByVal hRgnSrc1&, ByVal hRgnSrc2&, ByVal nCombineMode&)

Declare Function CombineRgn Lib "gdi32" Alias "CombineRgn" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long

2 つのリージョンを結合して、その結果を 3 番目のリージョンに格納する。2 つのリージョンは、指定されたモードに従って結合される。

パラメータ
hrgnDest
    リージョンのハンドルを指定する。

    関数から制御が返ると、このリージョンに、他の 2 つのリージョンを結合した結果定義されたサイズが割り当てられる。

    (CombineRgn を呼び出す前に、この結合先リージョンが存在していなければならない。)
hrgnSrc1
    最初の結合元リージョンのハンドルを指定する。
hrgnSrc2
    2 番目の結合元リージョンのハンドルを指定する。
fnCombineMode
    2 つのリージョンの結合方法を指定する。次の値のいずれかを指定する。

    値                    

説明                                                                                                                               

    RGN_AND

2 つのリージョンの重なり合う領域を、新しいリージョンとする。

    RGN_COPY

hrgnSrc1 で識別されているリージョンのコピーを作成する。

    RGN_DIFF

hrgnSrc1 リージョンのうち、hrgnSrc2 リージョンの一部ではない領域を、新しいリージョンとする。

    RGN_OR

両方のリージョンのユニオン(結び、つまり両方のリージョンを完全に含む最小の長方形)を、新しいリージョンとする。

    RGN_XOR

両方のリージョンのユニオンから、両方のリージョンが重なり合う領域を除いた領域を、新しいリージョンとする。


戻り値
    関数から制御が返ると、リージョンの複雑度が返る。次の値のいずれかになる。

    値                              

意味                                                     

    NULLREGION

リージョンは空。

    SIMPLEREGION

リージョンは単一の長方形。

    COMPLEXREGION

リージョンは単一の長方形よりも複雑な形。

    ERROR 

リージョンは作成されなかった。