我有一个Win32应用程序,主窗口有多个子窗口。在运行时,我扩展其中一个子窗口,使其覆盖其他子窗口。当我通过其标题移动此窗口(导致WM_EXITSIZEMOVE消息)时,展开窗口下方的窗口“闪烁”(在展开的窗口上重新绘制),从而导致可见的伪影。我该如何防止这种情况发生?
编辑: 当我展开窗口时,我使用以下代码:
SetWindowPos( hWnd, HWND_TOP, rct.left, rct.top, rct.right, rct.bottom, 0 );
此外,唯一闪耀的窗户是使用EasySplit创建的分割窗口......
答案 0 :(得分:2)
在父级上应用WS_CLIPCHILDREN样式,在子级上应用WS_CLIPSIBLINGS。
答案 1 :(得分:0)
我相信有一些设置可以用于说“重绘”之类的功能然后有一个值。虽然我不确定,但在与子窗口相关的代码中可能已经存在这样的值。只需将其关闭,这可能会解决您的问题。如果它没有修复它,或者如果没有这样的选项,那么尝试使用Google搜索功能组,看看是否在那里解释了语法。祝你好运!!!