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