The CreatePolygonRgn function creates a polygonal region.
HRGN CreatePolygonRgn( _In_ const POINT *lppt, _In_ int cPoints, _In_ int fnPolyFillMode );
- lppt [in]
A pointer to an array of POINT structures that define the vertices of the polygon in logical units. The polygon is presumed closed. Each vertex can be specified only once.
- cPoints [in]
The number of points in the array.
- fnPolyFillMode [in]
The fill mode used to determine which pixels are in the region. This parameter can be one of the following values.
Selects alternate mode (fills area between odd-numbered and even-numbered polygon sides on each scan line).
Selects winding mode (fills any region with a nonzero winding value).
For more information about these modes, see the SetPolyFillMode function.
If the function succeeds, the return value is the handle to the region.
If the function fails, the return value is NULL.
When you no longer need the HRGN object, call the DeleteObject function to delete it.
Region coordinates are represented as 27-bit signed integers.
Regions created by the Create<shape>Rgn methods (such as CreateRectRgn and CreatePolygonRgn) only include the interior of the shape; the shape's outline is excluded from the region. This means that any point on a line between two sequential vertices is not included in the region. If you were to call PtInRegion for such a point, it would return zero as the result.
Minimum supported client
|Windows 2000 Professional [desktop apps only]|
Minimum supported server
|Windows 2000 Server [desktop apps only]|
- Regions Overview
- Region Functions