若要允許使用桌面或其它視窗的視窗 Alpha 混合,請將視窗
transparent
屬性設定為
true
。您必須先設定
transparent
屬性,才能建立視窗,而該屬性建立後無法再變更。
透明視窗沒有預設背景。應用程式所繪製且未包含物件的任何視窗區域是看不見的。如果顯示的物件具有小於一的 Alpha 設定值,則物件之下的任何項目 (包括相同視窗、其它視窗以及桌面中的其它顯示物件) 都會穿透顯示出來。
如果您所要建立的應用程式,其邊框的形狀不規則或「淡化」或看起來是隱形的,那麼透明視窗就很有用。不過,顯示大型 Alpha 混合區域的速度可能會很慢,因此請謹慎使用這種效果。
重要事項:
在 Linux 上,完全透明的像素不會傳遞滑鼠事件。您應該避免建立具有大塊完全透明區域的視窗,因為可能會阻礙使用者對其它視窗或桌面項目的存取。在 Mac OS X 和 Windows 上,完全透明的像素則可傳遞滑鼠事件。
透明度不能用於具有系統顏色的視窗。此外,HTML 中的 SWF 和 PDF 內容可能不會顯示於透明視窗。如需詳細資訊,請參閱
在 HTML 網頁中載入 SWF 或 PDF 內容時必須考量的事項
。
靜態
NativeWindow.supportsTransparency
屬性會報告視窗透明度是否可供使用。透明度不受支援時,應用程式就會與黑色背景混合。在這些情況下,應用程式中任何的透明區域會顯示為不透明的黑色。最好在此屬性的測試結果為
false
的情況下提供補救措施。例如,您可以向使用者顯示警告對話方塊,或顯示不透明的矩形使用者介面。
請注意,Mac 和 Windows 作業系統永遠都支援透明度。Linux 作業系統上的支援需要複合式視窗管理員,但即使當複合式視窗管理員在作用中,也可能因為使用者顯示選項或硬體組態的關係而無法產生透明度。