我有一個WPF應用程序,它通過在透明窗口上繪畫來在計算機屏幕上進行註釋。透明度是用PInvoke的設置:在16位顏色深度上使用WS_EX_TRANSPARENT的透明度
extendedWindowStyle = GetWindowLong(hwnd, GWL_EXSTYLE);
SetWindowLong(hwnd, GWL_EXSTYLE, extendedWindowStyle | WS_EX_TRANSPARENT);
現在我有問題,當我拒絕顯示適配器顏色質量彙總從32位到16位。 那時我不再能夠在透明窗口上繪畫,而是鼠標到達透明WPF窗口下的控件。任何想法如何解決這個問題?
(BTW使用PInvoke的是我得到了透明度的唯一途徑的「Windows Basic」和「高對比度」的主題,其關閉Aero的透明度正常工作)
WS_EX_TRANSPARENT是一個很模糊的Windows黑客模擬透明度,只適用於子窗口。一個WPF應用程序永遠不需要的,很不清楚你爲什麼使用它。頂層窗口應使用AllowTransparency = True和0%不透明背景畫筆。 – 2014-09-26 14:54:25