ウィンドウとデスクトップまたは他のウィンドウとのアルファブレンドを可能にするには、
transparent
プロパティを
true
に設定します。
transparent
プロパティは、ウィンドウを作成する前に設定する必要があり、変更することはできません。
透明なウィンドウには、デフォルトの背景はありません。アプリケーションによって描画されたオブジェクトを含まないウィンドウ領域は表示されません。表示されたオブジェクトのアルファ設定が 1 未満の場合は、同じウィンドウ内の他の表示オブジェクト、他のウィンドウ、デスクトップなど、オブジェクトの下にあるすべてのものが透けて見えます。
ボーダーが不規則な形のウィンドウ、または「フェードアウト」するウィンドウや不可視のウィンドウを作成するには、透明なウィンドウが便利です。ただし、大きいアルファブレンド領域のレンダリングには時間がかかる場合があるので、この効果は控えめに使用する必要があります。
重要:
Linux の場合、マウスイベントは完全に透明なピクセルを通過できません。完全に透明で面積が広いウィンドウを作成すると、見えないウィンドウによってユーザーの操作がブロックされ、デスクトップ上にある他のウィンドウやアイテムがアクセス不能になるため、望ましくありません。Mac OS X および Windows の場合、マウスイベントは完全に透明なピクセルを通過します。
透明度は、システムクロムを使用するウィンドウでは使用できません。さらに、HTML 内の SWF コンテンツと PDF コンテンツは、透明ウィンドウに表示されない場合があります。詳しくは、
HTML ページに SWF コンテンツまたは PDF コンテンツを読み込む場合の考慮事項
を参照してください。
ウィンドウの透明度が使用可能かどうかは、静的な
NativeWindow.supportsTransparency
プロパティによって報告されます。透明度がサポートされていない場合、アプリケーションの背景は黒になります。この場合、アプリケーションの透明領域は不透明の黒として表示されます。このプロパティがテストで
false
になった場合のために、フォールバックを用意することをお勧めします。例えば、警告ダイアログをユーザーに表示するか、矩形の不透明なユーザーインターフェイスを表示することができます。
Windows および Macintosh オペレーティングシステムでは、常に透明度がサポートされます。Linux オペレーティングシステムでのサポートには、合成ウィンドウマネージャーが必要ですが、合成ウィンドウマネージャーがアクティブな場合でも、ユーザーの表示オプションまたはハードウェア構成により、透明度は使用できません。