CombineRgn

2つのリージョンを結合して、結果を3番目のリージョンに格納します。2つのリージョンは指定された方法で結合されます。

int CombineRgn(
    HRGN hrgnDest,       // 新しいリージョン
    HRGN hrgnSrc1,       // 元のリージョン1
    HRGN hrgnSrc2,       // 元のリージョン2
    int  fnCombineMode   // 結合方法
);

GDI32.DLL

引数

hrgnDest

2つのリージョンを結合することによって定義される新しいリージョンのハンドルを指定します。

hrgnSrc1

結合する1番目のリージョンのハンドルを指定します。

hrgnSrc2

結合する2番目のリージョンのハンドルを指定します。

fnCombineMode

2つのリージョンをどのように結合するのかを示す値を指定します。以下のいずれかの値を指定します。

1 (RGN_AND)

2つのリージョンの共通部分を生成します。

2 (RGN_OR)

2つのリージョンの和を生成します。

3 (RGN_XOR)

2つのリージョンの和から共通部分を除いた領域を生成します。

4 (RGN_DIFF)

hrgnSrc1の領域からhrgnSrc2の領域を取り除いた部分を生成します。

5 (RGN_COPY)

hrgnSrc1で指定されたリージョンのコピーを生成します。

戻り値

生成されたリージョンの形式を表す値が返ります。以下の値のいずれかになります。

0 (ERROR)

リージョンは生成されませんでした。

1 (NULLREGION)

空のリージョンが生成されました。

2 (SIMPLEREGION)

1つの長方形からなるリージョンが生成されました。

3 (COMPLEXREGION)

1つの長方形よりも複雑な形のリージョンが生成されました。

解説

パラメータとして指定される3つのリージョンはそれぞれが異なるリージョンである必要はありません。例えば、hrgnDestパラメータとhrgnSrc1パラメータに同じリージョンを指定することができます。

対応情報

Windows 95 以降 / Windows NT 3.1 以降