Win32 Windows通过顶部窗口重绘

时间:2014-01-07 18:32:05

标签: c++ winapi redraw

我有一个Win32应用程序,主窗口有多个子窗口。在运行时,我扩展其中一个子窗口,使其覆盖其他子窗口。当我通过其标题移动此窗口(导致WM_EXITSIZEMOVE消息)时,展开窗口下方的窗口“闪烁”(在展开的窗口上重新绘制),从而导致可见的伪影。我该如何防止这种情况发生?

编辑: 当我展开窗口时,我使用以下代码:

SetWindowPos( hWnd, HWND_TOP, rct.left, rct.top, rct.right, rct.bottom, 0 );

此外,唯一闪耀的窗户是使用EasySplit创建的分割窗口......

2 个答案:

答案 0 :(得分:2)

在父级上应用WS_CLIPCHILDREN样式,在子级上应用WS_CLIPSIBLINGS。

答案 1 :(得分:0)

我相信有一些设置可以用于说“重绘”之类的功能然后有一个值。虽然我不确定,但在与子窗口相关的代码中可能已经存在这样的值。只需将其关闭,这可能会解决您的问题。如果它没有修复它,或者如果没有这样的选项,那么尝试使用Google搜索功能组,看看是否在那里解释了语法。祝你好运!!!