所以我有以下代码:
cover
当我运行它时,它会创建一个覆盖窗口的黑色位图,这就是我想要的,但随后就会消失。我不知道删除它是什么。在遍历程序时,我可以看到在函数退出后窗口仍然是黑色,但是因为它在WndProc(消息接收器)中被调用,所以在此之后我无法跟踪它,并且错误似乎正在发生在wndProc之外或者当它返回时。我也试过SetBkColor。也不起作用。非常感谢帮助。谢谢!
答案 0 :(得分:1)
这是可以预料的。 Windows不保持持久绘图状态。您需要在窗口的窗口过程中处理WM_PAINT
消息然后进行绘制。
在您编写的代码中:
hDC = GetDC(printWind);
当您处理WM_PAINT
时,您可以致电BeginPaint
获取DC。当你完成绘画时,请致电EndPaint
。
它是这样的:
PAINTSTRUCT ps;
HDC hDC = BeginPaint(hwnd &ps);
// ... paint onto hDC
EndPaint(hwnd, &ps);