我有一個靜態控制有SS_OWNERDRAW
和SS_NOTIFY
標誌時,它是crated。它的父窗口有WS_EX_COMPOSITED
標誌。OwnerDraw與WS_EX_COMPOSITED XP下
在Windows XP中,沒有正確繪製,如下面的圖片顯示(右頂矩形):
但在Windows 7下,它繪製正確,如下面的圖片結果顯示(上右頂部的紹興德勝 「X」):
如何解決在XP這個問題呢?此外,什麼導致這個問題(在XP中)?
我有一個靜態控制有SS_OWNERDRAW
和SS_NOTIFY
標誌時,它是crated。它的父窗口有WS_EX_COMPOSITED
標誌。OwnerDraw與WS_EX_COMPOSITED XP下
在Windows XP中,沒有正確繪製,如下面的圖片顯示(右頂矩形):
但在Windows 7下,它繪製正確,如下面的圖片結果顯示(上右頂部的紹興德勝 「X」):
如何解決在XP這個問題呢?此外,什麼導致這個問題(在XP中)?
MSDN爲CreateWindowEx()
這樣說:
隨着WS_EX_COMPOSITED集,一個窗口的所有後代使用雙緩衝獲得 底部到頂部的繪畫才能。自下而上 繪畫順序允許後代窗口具有半透明性(alpha) 和透明度(顏色鍵)效果,但只有當後代 窗口也設置了WS_EX_TRANSPARENT位時。雙緩衝允許 窗口及其後代繪製沒有閃爍。
I.e.孩子STATIC
控制應該有WS_EX_TRANSPARENT
設置。
我試圖使用WS_EX_TRANSPARENT,但在XP中,它然後繪製任何東西,即「沒有corss符號,沒有黑色的矩形,只是一個靜態背景」 – user565739 2013-02-17 14:24:35
但在Windows 7或8,沒有問題。 – user565739 2013-02-17 14:25:05
發佈所有者繪製代碼。這可能是一個阿爾法通道事故。 – 2016-06-29 16:56:50