小甲鱼 发表于 2016-2-20 01:08:18

CreatePolygonRgn

函数功能:

CreatePolygonRgn 函数用于创建一个多边形区域。


API 函数原型:

HRGN CreatePolygonRgn(
_In_ const POINT *lppt,
_In_       int   cPoints,
_In_       int   fnPolyFillMode
);

参数解析:


参数 含义
lppt 1. 一个指向 POINT 结构数组的指针,用于定义多边形的各个顶点,逻辑单位
2. 默认多边形为闭合形状,每个顶点只能被连接一次
cPoints 指定多边形共有多少个顶点(数组的元素个数)
fnPolyFillMode 该参数决定区域拥有哪些像素,该参数可以是以下值之一:

值 含义
ALTERNATE 交替模式(两个模式的区别请回顾:多边形函数和多边形填充模式)
WINDING 螺旋模式(两个模式的区别请回顾:多边形函数和多边形填充模式)



返回值:

1. 如果函数调用成功,返回值是多边形区域的句柄(类型是 HRGN);

2. 如果函数调用失败,返回值是 NULL。


备注:

1. 当你不再需要这个 HRGN 对象,请使用 DeleteObject 函数删除它。

2. 矩形区域坐标用 27 位有符号整数表示。

3. 创建区域的函数命名规则是 Create<图案>Rgn(例如创建矩形和多边形区域的函数叫做:CreateRectRng 和 CreatePolygonRgn)。创建的形状只包含内部面积,外部边框线不包含在建材区域内。这就意味着如果你调用 PtInRegion 函数判断两顺序顶点之间的任意一点的位置,均返回 0(不在区域内)。

【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
页: [1]
查看完整版本: CreatePolygonRgn