这个方法的原型如下:
int SetPolyFillMode(
int nPolyFillMode
);
参数说明:
- nPolyFillMode 是填充模式的标志,可以是以下两个值之一:
- WINDING:指定“ winding”规则,即对于任意给定的点,通过多边形的射线从该点发出,与多边形相交的射线总数必须为奇数,以便点在多边形内部。
- ALTERNATE:指定“ alternate”规则,即通过多边形的射线从该点发出,与多边形相交的射线总数必须为奇数或零,以便点在多边形内部。
这个方法返回之前的填充模式。
示例代码如下:
CClientDC dc(this); // 假设在一个 CWnd 派生类的成员函数中调用
int nPreviousMode = dc.SetPolyFillMode(WINDING); // 设置为 winding 模式
// 在这里进行多边形的绘制,例如绘制一个矩形
CPoint points[4] = {CPoint(50, 50), CPoint(150, 50), CPoint(150, 150), CPoint(50, 150)};
dc.Polygon(points, 4);
// 恢复之前的填充模式
dc.SetPolyFillMode(nPreviousMode);
在这个示例中,首先使用 SetPolyFillMode 将填充模式设置为 WINDING,然后通过 Polygon 方法绘制一个矩形。最后,通过再次调用 SetPolyFillMode 恢复之前的填充模式。
转载请注明出处:http://www.zyzy.cn/article/detail/17206/MFC/CDC