int CombineRgn(hDestRgn,hSrcRgn1,hSrcRgn2,nCombineMode)
This function creates a new region by combining two existing regions. The method used to combine the regions is specified by the nCombineMode parameter.
| Parameter | Type/Description |
| hDestRgn | HRGN Identifies an existing region that will be replaced by the new region. | ||
| hSrcRgn1 | HRGN Identifies an existing region. | ||
| hSrcRgn2 | HRGN Identifies an existing region. | ||
| nCombineMode | int Specifies the operation to be performed on the two existing regions. It can be any one of the following values: | ||
| Value | Meaning | ||
| RGN_AND | Uses overlapping areas of both regions (intersection). | ||
| RGN_COPY | Creates a copy of region 1 (identified by hSrcRgn1). | ||
| RGN_DIFF | Saves the areas of region 1 (identified by the hSrcRgn1 parameter) that are not part of region 2 (identified by the hSrcRgn2 parameter). | ||
| RGN_OR | Combines all of both regions (union). | ||
| RGN_XOR | Combines both regions but removes overlapping areas. | ||
The return value specifies the type of the resulting region. It can be any one of the following values:
| Value | Meaning |
| COMPLEXREGION | New region has overlapping borders. | |
| ERROR | No new region created. | |
| NULLREGION | New region is empty. | |
| SIMPLEREGION | New region has no overlapping borders. |
If the hDestRgn parameter does not identify an existing region, the application must pass a far pointer to a previously allocated HRGN as the hDestRgn parameter.