2014-01-07 50 views
1

我有一个Win32应用程序与多个子窗口到主窗口。在运行期间,我展开其中一个子窗口,以覆盖其他子窗口。当我通过它的标题移动这个窗口(导致WM_EXITSIZEMOVE消息)时,扩展窗口下面的窗口'闪耀'直到(在扩展窗口上重绘),导致可见的伪像。我如何防止这种情况发生?Win32 Windows通过顶部窗口重绘

编辑: 当我展开我用下面的代码窗口:

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

同样,彪炳与EasySplit创建拆分窗口的唯一窗口...

+0

您是否在这些窗口中的任何一个上设置了WS_EX_TRANSPARENT样式? –

+0

@MarkRansom没有透明风格...我添加了一些编辑...对SetWindowPos()的调用。此外,我意识到,唯一透过窗户的窗户就是分隔窗户。我发现在线代码将分离器窗口集成到应用程序中,直到现在它们都运行良好... –

+1

在父级和WS_CLIPSIBLINGS子级上应用WS_CLIPCHILDREN样式。 – Vishal

回答

2

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

0

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