透明ウィンドウの作成

透明ウィンドウの作成

 前ページの5点のポイントを確認しながら説明します。

 1点目の、メインウィンドウのタグをからへの変更方法についてですが、メインウィンドウのタグの変更ですが、Flexプロジェクト作成の際にAIRアプリケーションを選択しますと、デスクトップアプリケーションの必要な機能として、ウィンドウのタイトルバーを表示させるために、自動的にが設定されます。

 しかし、ウィンドウを透明化する場合には、タイトルバーは必要ありませんので、「ソースモード」上でをと変更します。同様に閉じタグもと変更します。

 2点目の、ウィンドウのプロパティ設定を透明にする方法については、「ウィンドウのプロパティ設定」を「デザインモード」でメインウィンドウを選択し、「Flexプロパティ→スタイル→ボーダーとアルファ→アルファ」の設定を「1%」にします(図2)。完全に透明にするとウィンドウの移動が困難になりますので、ここでは「1%」と設定しています。この設定はウィンドウの透明度の設定ですので、任意の値を設定することにより半透明などの設定も可能です。

 3点目の、ADFファイルの設定についてですが、「プロジェクトフォルダ→srcフォルダ→プロジェクト名-app.xml」のファイルがADFファイルとなります。今回の例では、「airFirstProjectフォルダ→srcフォルダ→airFirstProject-app.xml」がADFファイルです。

 このairFirstProject-app.xmlの中段に、次の3項目があります。





 こちらの記述内容を次のように設定します。

none
true
true

 以上が、ウィンドウ透明化に必要な設定となります。

透明ウィンドウの操作について

 次に、透明化されたウィンドウを操作する設定を行います。

 4点目の、ウィンドウの移動についてですが、「ウィンドウ上でマウスボタンをクリックしたら、ドラッグ移動を可能にする」という機能を追加したいと思います。つまり、通常のウィンドウのタイトルバーによる移動と同じ機能を追加します。

 この機能の設定方法ですが、「デザインモード」でメインウィンドウを選択し、「Flexプロパティ」の表示形式を「標準ビュー」から「カテゴリービュー」に切り替えて、「イベント」から「mouseDown」に「stage.nativeWindow.startMove()」と記入します(図2)。この設定を行いますと、マウスボタンを押している間ウィンドウを移動することができます。

 5点目の、ウィンドウを閉じる機能ですが、タイトルバーが非表示なため閉じるボタンがありません。そのため、今回はマウス右クリックをしたらウィンドウを閉じるという機能を追加したいと思います。

 この機能の設定方法ですが、「デザインモード」でメインウィンドウを選択し、「Flexプロパティ」の表示形式を「標準ビュー」から「カテゴリービュー」に切り替えて、「イベント」から「rightClick」に「stage.nativeWindow.close()」と記入します(図3)。この設定を行いますと、マウス右ボタンをクリックするとウィンドウが閉じます。

 4点目と5点目の設定内容ですが、「ソースモード」上でタグ内に、次のように追記することにより、同様の設定を行うことができます。

mouseDown="stage.nativeWindow.startMove()" rightClick="stage.nativeWindow.close()"

 設定が完了しましたら、「実行ボタン」もしくは「Ctrlキー + F11」で作成したAIRアプリケーションを実行してみてください。ウィンドウが透明なデジタル時計が表示されます。

 今回作成した、MXMLファイル・ADFファイル・AIRファイルは、こちらからダウンロード(http://www.thinkit.co.jp/images/article/102/5/10251.zip)することができますので、参考にしてください(10251.zip/163 KB)。

 では、最後にAIRアプリケーションで簡単なブラウザを作成していきます。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30