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
);
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. |
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. |
The three regions need not be distinct. For example, the hrgnSrc1 parameter can equal the hrgnDest parameter.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Requires version 1.0 or later.
Header: Declared in wingdi.h.
Import Library: Use gdi32.lib.
Regions Overview, Region Functions, CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn