CreatePolyPolygonRgn function (wingdi.h)

The CreatePolyPolygonRgn function creates a region consisting of a series of polygons. The polygons can overlap.

Syntax

HRGN CreatePolyPolygonRgn(
  [in] const POINT *pptl,
  [in] const INT   *pc,
  [in] int         cPoly,
  [in] int         iMode
);

Parameters

[in] pptl

A pointer to an array of POINT structures that define the vertices of the polygons in logical units. The polygons are specified consecutively. Each polygon is presumed closed and each vertex is specified only once.

[in] pc

A pointer to an array of integers, each of which specifies the number of points in one of the polygons in the array pointed to by lppt.

[in] cPoly

The total number of integers in the array pointed to by lpPolyCounts.

[in] iMode

The fill mode used to determine which pixels are in the region. This parameter can be one of the following values.

Value Meaning
ALTERNATE
Selects alternate mode (fills area between odd-numbered and even-numbered polygon sides on each scan line).
WINDING
Selects winding mode (fills any region with a nonzero winding value).
 

For more information about these modes, see the SetPolyFillMode function.

Return value

If the function succeeds, the return value is the handle to the region.

If the function fails, the return value is zero.

Remarks

When you no longer need the HRGN object, call the DeleteObject function to delete it.

Region coordinates are represented as 27-bit signed integers.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wingdi.h (include Windows.h)
Library Gdi32.lib
DLL Gdi32.dll

See also

CreatePolygonRgn

CreateRectRgn

CreateRectRgnIndirect

CreateRoundRectRgn

DeleteObject

ExtCreateRegion

GetRegionData

POINT

Region Functions

Regions Overview

SelectObject

SetPolyFillMode