2014-01-07 53 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

我不相信有是設置與函數一起使用,將會像「重畫」一樣,然後有一個值。雖然我不確定,但在代碼中與子窗口相關的值可能已經存在。只需將其關閉,這可能會解決您的問題。如果它沒有解決它,或者如果沒有這樣的選項,那麼嘗試搜索功能組並查看是否在那裏解釋語法。祝你好運!!!