我想基于MFC同时让多个点连接多个点,比如有两个数组,数组1(1,2,3),数组2(4,5,6)我想让1连接4,2连接5,3连接6,注意这些操作同时进行,怎么实现
时间: 2024-04-14 15:28:16 浏览: 31
MFC 实现对圆等分N点,N个点彼此连线
要实现同时连接多个点,你可以使用CDC类的LineTo函数来绘制线段。在MFC中,你可以通过以下步骤来实现:
1. 在你的MFC应用程序中,创建一个继承自CView的视图类(例如CMyView)。
2. 在CMyView类的OnDraw函数中,获取设备上下文(CDC对象)并进行绘制操作。
3. 在OnDraw函数中,使用LineTo函数依次连接数组1和数组2中的对应点。
以下是一个示例代码:
```cpp
void CMyView::OnDraw(CDC* pDC)
{
// 获取设备上下文
CDC memDC;
memDC.CreateCompatibleDC(pDC);
CBitmap bmp;
bmp.CreateCompatibleBitmap(pDC, 500, 500);
memDC.SelectObject(&bmp);
// 数组1和数组2
int arr1[] = { 1, 2, 3 };
int arr2[] = { 4, 5, 6 };
int count = sizeof(arr1) / sizeof(arr1[0]);
// 连接点
for (int i = 0; i < count; i++)
{
memDC.MoveTo(arr1[i] * 100, arr1[i] * 100);
memDC.LineTo(arr2[i] * 100, arr2[i] * 100);
}
// 将绘制结果拷贝到设备上下文
pDC->BitBlt(0, 0, 500, 500, &memDC, 0, 0, SRCCOPY);
}
```
这个示例中,我们创建了一个大小为500x500的位图,然后在这个位图上绘制线段连接数组1和数组2中的对应点。最后,我们将绘制结果拷贝到设备上下文,以显示在视图上。
你可以根据自己的需求进行适当的修改和扩展。希望这能帮到你!
阅读全文