我带着一个实验项目回来了:我有一个包含 10000 个POINT类型元素的数组。它们应该是具有 x 和 y 坐标的像素,要在窗口上绘制(SetPixel())。我创建了一个简单的函数来创建 DC,从数组中获取每个 POINT 并将其绘制在屏幕上:
void draw_points() {
HDC hdc = GetDC(hWnd);
for (int i = 0; i < 10000; i++) {
SetPixel(hdc, points[i].x, points[i].y, RGB(0, 0, 0));
}
ReleaseDC(hWnd, hdc);
}
好吧,我把这个函数放在了WinMain()函数的主循环中。有用。我可以看到在屏幕上绘制的点。问题是在显示点时我不能做任何其他事情,所以我发现我需要异步函数,就像在 Java 中一样。那是因为我希望能够在draw_points()函数运行时从数组中添加、删除、修改点。
我不需要它的任何结果,我只希望它在另一个线程中运行,同时我对其他功能做任何我想做的事情。所以,我的问题是:Windows API 为我提供了什么?通常的方法是什么?我需要一些外部库吗?我只是不知道如何开始。我希望你明白我想要什么。谢谢!