在 MFC 中,CDC::PolyPolyline 是一个成员函数,用于在设备上绘制多个多段线(polyline)。这个函数的声明如下:
BOOL PolyPolyline(
   const POINT* lpPoints,
   const DWORD* lpPolyPoints,
   DWORD nCount
);

这个函数接受三个参数:

1. lpPoints:一个指向 POINT 结构体数组的指针,表示多个多段线的顶点坐标。
2. lpPolyPoints:一个指向 DWORD 数组的指针,表示每个多段线的顶点数目。
3. nCount:多段线的数量。

函数返回一个布尔值,表示操作是否成功。

PolyPolyline 函数用于绘制由 lpPoints 和 lpPolyPoints 定义的多个多段线。lpPoints 数组包含所有多段线的顶点坐标,而 lpPolyPoints 数组指定了每个多段线的顶点数目。这个函数可以一次性绘制多个多段线,非常方便。

这是一个简单的例子,演示如何使用 PolyPolyline 函数:
CDC dc;
// 初始化 CDC 对象,设置画笔等属性

POINT points[] = {{100, 100}, {200, 100}, {200, 200}, {100, 200}, {300, 300}, {400, 300}, {400, 400}, {300, 400}};
DWORD polyPoints[] = {4, 4};

dc.PolyPolyline(points, polyPoints, 2);

// 绘制完成后,可能需要清理资源

上述代码创建了两个多段线,每个多段线都包含四个顶点,并使用 PolyPolyline 函数进行绘制。在 polyPoints 数组中,每个元素表示一个多段线的顶点数目。这个函数非常适合一次性绘制多个多段线的情况。


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