▼ActionScript 3.0メモ▼
ウィンドウの生成と操作


ウィンドウの生成と操作を行うAIRアプリを作成する。



素材の準備
SWFファイル「sample.swf」をソースコードと同じフォルダに配置。

sample.swf



ソースコード
NewWindowEx.as
package {
    import flash.display.*;  
    import flash.events.*;  
    import flash.text.*;  

    //ネイティブウィンドウの操作
    [SWF(width=240, height=240, backgroundColor=0xFFFFFF)]
    public class NativeWindowEx extends Sprite {
        //素材クラスの定義
        [Embed(source='sample.swf')]
        private var Sample:Class;
        
        //ウィンドウ
        private var window0:NativeWindow;//通常ウィンドウ        
        private var window1:NativeWindow;//透過ウィンドウ
        
        //コンストラクタ
        public function NativeWindowEx() {
            //メインウィンドウへのイベント追加
            stage.nativeWindow.addEventListener(Event.CLOSE, onClose);            

            //通常ウィンドウの生成
            window0 = makeWindow(false, NativeWindowSystemChrome.STANDARD);            
            window0.x = stage.nativeWindow.x + stage.nativeWindow.width;            
            window0.y = stage.nativeWindow.y;            
            
            //画像の追加
            var sprite0:Sprite = new Sample();            
            window0.stage.addChild(sprite0);
            sprite0.x = 120;
            sprite0.y = 120;

            //透過ウィンドウの生成
            window1 = makeWindow(true, NativeWindowSystemChrome.NONE);            
            window1.x = window0.x + window0.width;            
            window1.y = window0.y;            
            
            //透過ウィンドウへの画像の追加
            var sprite1:Sprite = new Sample();            
            window1.stage.addChild(sprite1);
            sprite1.x = 120;            
            sprite1.y = 120;            
            
            //透過ウィンドウのステージへのイベント追加
            window1.stage.addEventListener(
                MouseEvent.MOUSE_DOWN, onMouseDown);                
        }
        
        //新規ウィンドウの生成
        private function makeWindow(
            transparent:Boolean, systemChrome:String):NativeWindow {
            //ウィンドウ初期化オプション
            var options:NativeWindowInitOptions =
                new NativeWindowInitOptions();
            options.type         = NativeWindowType.NORMAL;
            options.transparent  = transparent;
            options.systemChrome = systemChrome;
            
            //ウィンドウの生成
            var window:NativeWindow = new NativeWindow(options);            
            window.title             = "新規ウィンドウ";
            window.stage.align       = StageAlign.TOP_LEFT;
            window.stage.scaleMode   = StageScaleMode.NO_SCALE;            
            window.stage.stageWidth  = 240;
            window.stage.stageHeight = 240;
            window.visible           = true;
            return window;
        }

        //メインウィンドウのクローズイベントの処理
        private function onClose(evt:Event):void {
            window0.close();
            window1.close();
        }

        //透過ウィンドウのマウスダウンイベントの処理
        private function onMouseDown(evt:MouseEvent):void {
            window1.startMove();
        }
    }
}



−戻る−