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();
}
}
}
|