CDC::SetPolyFillMode 是 MFC(Microsoft Foundation Classes)库中的方法之一,用于设置多边形的填充模式。它影响绘制多边形时的填充方式。

方法原型如下:
int SetPolyFillMode(
   int nPolyFillMode 
);

参数 nPolyFillMode 表示设置的填充模式,可以是下列值之一:

  •  ALTERNATE: 表示使用交替的填充模式,即绘制多边形内的点和边。

  •  WINDING: 表示使用紧密的填充模式,即绘制多边形内的点,而不考虑边。


返回值是之前的填充模式,通常在设置之前会保存之前的模式以便需要时进行还原。

以下是一个简单的例子,演示如何使用 SetPolyFillMode 方法:
CClientDC dc(this); // 创建一个设备上下文

// 设置多边形填充模式为交替模式
int oldPolyFillMode = dc.SetPolyFillMode(ALTERNATE);

// 在设备上下文中绘制一个多边形
POINT points[] = { {100, 100}, {200, 100}, {150, 200} };
dc.Polygon(points, 3);

// 恢复原来的填充模式
dc.SetPolyFillMode(oldPolyFillMode);

在这个例子中,SetPolyFillMode 方法被用于设置多边形的填充模式,然后通过 Polygon 方法在设备上下文中绘制一个三角形。最后,通过 SetPolyFillMode 方法还原填充模式。


转载请注明出处:http://www.pingtaimeng.com/article/detail/17020/MFC/CDC