時,我會盡量解釋我的問題盡我所能,窗戶被塗使用分層窗口
我創建一個在C分層的窗口++(使用的是WindowsXP),直到我將所有工作正常,我創建窗口附近的Windows開始按鈕,然後當我按下Windows任務欄的星形按鈕,並再次關閉它時,我的分層窗口下面的所有窗口都沒有被繪製(僅在窗口彈出我窗口的區域)。
我創建的窗口是這樣的:
的CWnd :: CreateEx(WS_EX_TOOLWINDOW | WS_EX_LAYERED, AfxRegisterWndClass(0), lpstr_name,WS_POPUP,0,0,0,0, pc_parent-> GetSafeHwnd(),0);
...
當我創建這個風格問題ocurrs窗口,但如果我與擴展樣式WS_EX_TRANSPARENT創建和所有其他人不發生任何更多的問題。如果不是WS_POPUP窗口是WS_CHILD或WS_OVERLAPPED那麼這也不會發生...
任何人都可以請解釋爲什麼當我創建一個WS_EX_LAYERED樣式的WS_POPUP窗口下面的所有窗口都沒有更新,如果我添加風格WS_EX_TRANSPARENT這工作正常。
注意:爲什麼我不使用WS_EX_TRANSPARENT風格,如果它工作正常?如果我使用它,然後我的窗口不能拖動,我需要做的吧:)
更新時間: alt text http://img17.imageshack.us/img17/586/clipboard01il.jpg
上面的圖片是爲了更好地描述所發生的事情: 圖像的第一部分你可以看到我的層疊窗口,下面是vs,在第二個img中,我按下開始按鈕,然後在最後一個圖像中,我已經將分層窗口拖到右側,你可以看到vs窗口沒有更新受影響的區域。 請注意,直到現在這種情況只發生在啓動窗口?!與其他Windows它不會發生!?...
感謝
是的,當然,但我怎麼做到這一點。我希望所有窗口下面的窗口應該被通知繪畫更新,我不希望我的應用程序是將繪製窗口下方的應用程序,我期望系統會發送某種消息,以便讓它知道下面的窗口必須重繪是自己的內容。 我覺得你不明白我的問題,我只想知道女巫風格或擴展樣式允許這種情況發生。 – Nuno 2010-05-17 14:07:23
@Nuno:爲什麼基礎窗口重繪?他們之上有一個窗口!無論他們畫的是什麼,當最頂層的窗口重新繪製時,都會被吹走。 – 2010-05-17 14:17:44
正確的理解,但我能做些什麼來避免這種情況? (我更新了問題並添加了一個圖像,就像你看到的那樣,底層窗口需要重繪或不重視!)注意,如果我添加了WS_EX_TRANSPARENT擴展樣式,這將不會發生......這是我需要的,但是這種風格我不能拖動我的窗口,因爲它會被點擊 – Nuno 2010-05-17 14:28:36