Share via


CombineRgn (Compact 2013)

3/28/2014

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 CombineRgn is 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 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 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 hrgnSrc1 parameter can equal the hrgnDest parameter.

Requirements

Header

windows.h

Library

coredll.lib

See Also

Reference

GDI Functions
CreateRectRgnIndirect