类别 AIR 订阅所有【AIR】的日志

AIR中通过关闭主窗口关闭所有子窗口

默认下,在AIR中点击本地窗口的关闭按钮时只会关闭当前窗口。然而在开发多窗口应用时,可能需要在关闭主应用程序窗口的同时关闭所有子窗口。我们可以在Event.CLOSING事件中取消默认的关闭操作,通过遍历手动关闭所有已打开的窗口。

看下面代码:

import flash.display.NativeWindow;
import flash.display.NativeWindowInitOptions;
import flash.display.NativeWindowType;
import flash.events.Event;
import flash.desktop.NativeApplication;

stage.nativeWindow.addEventListener(Event.CLOSING, closeAllWindows);
addNewWin("First Window");
addNewWin("Second Window");

function addNewWin(title:String):void {
	var opt:NativeWindowInitOptions = new NativeWindowInitOptions();
	opt.type = NativeWindowType.NORMAL;
	var win:NativeWindow = new NativeWindow(opt);
	win.title = title;
	win.width = 400;
	win.height = 200;
	win.activate();
}

function closeAllWindows(event:Event):void {
	event.preventDefault();
	//loop through all windows and close them
	var windows:Array = NativeApplication.nativeApplication.openedWindows;
	var count:int = windows.length;
	for (var i:int = 0; i < count; i++) {
		var closeWin:NativeWindow = windows[i] as NativeWindow;
		closeWin.close();
	}
}

在本实例中,主窗口的关闭操作是在Event.CLOSING事件中通过preventDefault()方法来取消的。这样,您就取消Closing事件的默认行为,主窗口不会自动关闭。然后,通过NativeApplication.nativeApplication.openedWindows属性取得此应用程序的所有已打开的本地窗口,循环调用close()方法关闭它们。

上一篇上一篇: FluorineFX+Flex实现简单公聊
下一篇下一篇: BlazeDS Release Candidate发布
来自文章来自: 本站原创
引用引用通告: 查看所有引用 | 我要引用此文章
标签Tags: Apollo TestDrive
相关相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭