HWND删除其中的内容;无法追踪

时间:2015-07-12 07:26:46

标签: c++ windows winapi visual-c++

所以我有以下代码:

cover

当我运行它时,它会创建一个覆盖窗口的黑色位图,这就是我想要的,但随后就会消失。我不知道删除它是什么。在遍历程序时,我可以看到在函数退出后窗口仍然是黑色,但是因为它在WndProc(消息接收器)中被调用,所以在此之后我无法跟踪它,并且错误似乎正在发生在wndProc之外或者当它返回时。我也试过SetBkColor。也不起作用。非常感谢帮助。谢谢!

1 个答案:

答案 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);