Prev Next

CombineRgn info  Overview  Group

The CombineRgn function combines two regions and stores the result in a third region. The two regions are combined according to the specified mode.

int CombineRgn(

    HRGN hrgnDest,

// handle to destination region

    HRGN hrgnSrc1,

// handle to source region

    HRGN hrgnSrc2,

// handle to source region

    int fnCombineMode 

// region combining mode

   );

Parameters

hrgnDest
Identifies a new region with dimensions defined by combining two other regions. (This region must exist before CombineRgn is called.)
hrgnSrc1
Identifies the first of two regions to be combined.
hrgnSrc2
Identifies the second of two regions to be combined.
fnCombineMode
Specifies a mode indicating how the two regions will be combined. This parameter can be one of the following values:

Value

Description

RGN_AND

Creates the intersection of the two combined regions.

RGN_COPY

Creates a copy of the region identified by hrgnSrc1.

RGN_DIFF

Combines the parts of hrgnSrc1 that are not part of hrgnSrc2.

RGN_OR

Creates the union of two combined regions.

RGN_XOR

Creates the union of two combined regions except for any overlapping areas.

Return Values

The return value specifies the type of the resulting region. It can be one of the following values:

Value

Meaning

NULLREGION

The region is empty.

SIMPLEREGION

The region is a single rectangle.

COMPLEXREGION

The region is more than a single rectangle.

ERROR

No region is created.

Remarks

The three regions need not be distinct. For example, the hrgnSrc1 parameter can equal the hrgnDest parameter.

See Also

CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn