Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function combines two regions and stores the result in a third region.

The two regions are combined according to the specified mode.

Syntax

int CombineRgn(
  HRGN 
hrgnDest, 
  HRGN 
hrgnSrc1, 
  HRGN 
hrgnSrc2, 
  int 
fnCombineMode
); 

Parameters

hrgnDest

[in] Handle to a new region with dimensions defined by combining two other regions. (This region must exist before CombineRgnis called.)

hrgnSrc1

[in] Handle to the first of two regions to be combined.

hrgnSrc2

[in] Handle to the second of two regions to be combined.

fnCombineMode

[in] 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 hrgnSrc1that are not part of hrgnSrc2.

RGN_OR

Creates the union of two combined regions.

RGN_XOR

Creates the union of two combined regions exceptfor any overlapping areas.

Return Value

The return value specifies the type of the resulting region. NULLREGION indicates that the region is empty.

SIMPLEREGION indicates that the region is a single rectangle.

COMPLEXREGION indicates that the region is more than a single rectangle.

ERROR indicates that no region is created.

Remarks

The three regions need not be distinct.

For example, the hrgnSrc1parameter can equal the hrgnDestparameter.

Requirements

Header windows.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also