如何正确处理WS_EX_COMPOSITED?

时间:2012-05-22 19:41:44

标签: c++ windows winapi gdi doublebuffered

有人可以解释如何创建处理由WS_EX_COMPOSITED引起的bug的WndProc(某些控件上的bug是无穷无尽的WM_PAINT)?

我用于WS_EX_COMPOSITED的所有内容都是隐藏我的应用程序窗口以便能够截取它的屏幕截图(如果未设置WS_EX_COMPOSITED,PrintWindow失败),我会获得屏幕截图但CPU使用率始终为99%。

以下是我从谷歌发现的信息: Never ending WM_PAINT loop with ATL CWindowImpl http://forums.codeguru.com/showthread.php?t=483719

但并没有给我很高的亮度......我加入WndProc的唯一变化如下:

if(Msg==WM_PAINT||Msg==WM_NCPAINT||Msg==WM_ERASEBKGND) { return DefWindowProc(hWnd,Msg,wParam,lParam); }

它降低了CPU的使用率,但没有正确地绘制所有控件。

0 个答案:

没有答案