アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » DEVELOPER STAGE » 連載 » Adobe AIRで作るデスクトップアプリケーション » 第6回 ウィンドウの操作

Adobe AIRで作るデスクトップアプリケーション

第6回 ウィンドウの操作

ウィンドウの外観

ウェブ上のFlashコンテンツと違い,AIRアプリケーションにはそれぞれのウィンドウがあります。デフォルトの状態ではOSのウィンドウと同じ外観を持ったシステムクロームが使われます。開発環境に関係なく,アプリケーションを実行しているプラットフォームのウィンドウになります。

MacintoshとWindowsのシステムクローム

MacintoshとWindowsのシステムクローム

これはアプリケーション記述ファイルの設定によるものです。rootContent要素のsystemChrome属性が"standard"であればシステムクロームを指定していることになります。

<rootContent systemChrome="standard" transparent="false" visible="true">[SWF reference is generated]</rootContent>

システムクロームを使わない場合はsystemChrome属性を"none"にします。すると,Flexクロームに変わります。デフォルトのMXMLではルートにWindowedApplicationコンポーネントが指定されているため,そのカスタムクロームが適用されるのです。ただし,systemChrome属性を"none"にしただけではウィンドウのコーナーが不透明で違和感があります。これを解消するには,transparent属性を"true"にしてウィンドウのアルファサポートを有効にします。

<rootContent systemChrome="none" transparent="true" visible="true">[SWF reference is generated]</rootContent>

MacintoshとWindowsのFlexクローム

MacintoshとWindowsのFlexクローム

完全にオリジナルの外観にしたい場合は,MXMLのWindowedApplicationタグをApplicationタグに書き換えます。Applicationコンポーネントにはクロームがないため,背景だけの状態になります。さらに下記のようにスタイルを設定すれば背景も表示されなくなるので,自由な形状のパーツを配置してカスタムクロームを構成できます。ここではSWFLoaderコンポーネントを使って外部SWFファイルを読み込んでいます。

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Style>
		Application
		{
			background-image:"";
			background-color:"";
		}
	</mx:Style>
	<mx:SWFLoader x="0" y="0" source="clock.swf"/>
</mx:Application>

背景を透過させて自由な形のアプリケーションにできる

背景を透過させて自由な形のアプリケーションにできる

ウィンドウの最小化/最大化/クローズ

AIRアプリケーションのウィンドウはNativeWindowクラスのAPIでコントロールできます。各ウィンドウはNativeWindowクラスのインスタンスです。このオブジェクトにはStageクラスのwindowプロパティを使ってアクセスできます。下記はウィンドウのサイズ変更とクローズのサンプルです。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
	<mx:Script>
		<![CDATA[
			private function onMinimizeButtonClick(evt:MouseEvent):void {
				stage.window.minimize();
			}
			private function onMaximizeButtonClick(evt:MouseEvent):void {
				stage.window.maximize();
			}
			private function onRestoreButtonClick(evt:MouseEvent):void {
				stage.window.restore();
			}
			private function onCloseButtonClick(evt:MouseEvent):void {
				stage.window.close();
			}
		]]>
	</mx:Script>
	<mx:Button x="10" y="10" label="最小化" click="onMinimizeButtonClick(event)"/>
	<mx:Button x="74" y="10" label="最大化" click="onMaximizeButtonClick(event)"/>
	<mx:Button x="140" y="10" label="元に戻す" click="onRestoreButtonClick(event)"/>
	<mx:Button x="214" y="10" label="閉じる" click="onCloseButtonClick(event)"/>
</mx:Application>

4つのボタンを配置し,clickイベントで各処理を行っています。minimize()メソッドはウィンドウを最小化し,maximize()メソッドは最大化します。変更前のサイズに戻すにはrestore()メソッドを使います。close()メソッドでウィンドウを閉じます。

著者プロフィール

タナカヤスヒロ

早稲田大学卒業後,DTP業務を経てマルチメディア系制作会社へ。Macromedia Directorにのめり込む。フリーランスとなりFlashにシフトしてからもデスクトップ絡みの仕事が絶えず,Apolloにも勝手に縁を感じている。現在株式会社antsに所属。ants Lab.にも記事を上げている。

URLhttp://labs.anthill.jp/

著書

  • ActionScript逆引きクイックリファレンス

    ActionScript逆引きクイックリファレンス(毎日コミュニケーションズ)

  • GIZMO Programmer's Bible FLASHによるガジェット開発

    GIZMO Programmer's Bible FLASHによるガジェット開発(毎日コミュニケーションズ)

トラックバック

  • [AIR]試してみた

    とりあえず全く触った事ないのですが、Flashをデスクトップに表示するくらいならすぐできるかな?と思って、詳しく説明してくれているのを参考に試してみる事にしました。 まずFlashで適当なものを作成・・・ 線を書いただけ。 それから、ビルダーのソースに先のページから

    Tracked : #1  本当にオタクでも山へ登れるのか? (2007/07/14, 10:05)

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

読むウェブ ~本とインタラクション

ディスプレイで読む活字とそのインタラクション(interaction:相互作用)について,最新Webを紹介しながら読み解いていく。

いま,見ておきたいウェブサイト

この連載では,国内外の最新のウェブサイトを隔週更新で取り上げ,これら最新サイトの特徴や素晴らしい部分を,さまざまな角度から解説していきます。

Windows phoneアプリケーション開発入門

Windows Marcketplace for Mobileがサービス開始され,作成したアプリケーションを個人でも世界をターゲットに公開できる環境が整ってきました。これを機にWindows phoneアプリケーションの開発をしてみませんか?

ここは知っておくべき!Windows Server 2008技術TIPS

5年ぶりのサーバOSとなったWindows Server 2008が出荷されて早2年。2009年にはR2が出荷され,再び注目を集めています。発売前から実施したトレーニングによって感じた,インフラエンジニアの方々に知っておいていただきたい機能を中心にご紹介します。

キーパーソンが見るWeb業界

本連載はWeb Site Expert/gihyo.jpとの連動企画です。阿部淳也, 長谷川敦士, 森田雄のお三方による,Web業界をテーマにした座談会です。

きたみりゅうじの聞かせて珍プレー

ソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。みなさんからの投稿もお待ちしてます!

ActionScript 3.0で始めるオブジェクト指向スクリプティング

野中文雄氏が,簡単なスクリプトは書いたことがあるという初級者を対象に,ActionScript 3.0の基本からクラス定義までを解説します。

まだ間に合う「ITパスポート」受験対策 原山先生の短期合格塾

この連載では,4月18日のITパスポート試験の受験に向けて,短い期間で効率良く受験対策を行う方法や,確実に得点するための裏ワザなどを伝授していきます。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス