Air实现系统托盘功能

本文介绍了一个类似于QQ的应用如何实现在用户已登录状态下,关闭应用时自动最小化到系统托盘的功能。通过监听窗体的关闭事件并阻止默认的关闭行为,同时设置系统托盘图标及右键菜单来实现这一需求。

最近做的一个应用类似于QQ,如果用户已经登录,关闭的时候自动最小化到系统托盘位置 主要实现如下:
1,添加窗体的closing事件,在事件处理中阻止系统默认的关闭事件

[Embed(source="resources/images/logo/tray.png")]
public static const tray:Class;
private var trayImage:BitmapData;
private function initTray():void {
this.addEventListener(Event.CLOSING, handleClosingApplication);
if (NativeApplication.supportsSystemTrayIcon) {
trayImage=Bitmap(new tray()).bitmapData;
SystemTrayIcon(NativeApplication.nativeApplication.icon).tooltip=this.title;
SystemTrayIcon(NativeApplication.nativeApplication.icon).addEventListener(MouseEvent.CLICK, undock);
SystemTrayIcon(NativeApplication.nativeApplication.icon).menu=createSystrayRootMenu();
}
}
private function handleClosingApplication(event:Event):void {
if (stage.nativeWindow.visible) {
//判断是否需要退出
if (UserGenerator.user) {
stage.nativeWindow.visible=false;
//初始化系统托盘图标
NativeApplication.nativeApplication.icon.bitmaps=[trayImage];
if (event) {
event.preventDefault();
}
} else {
exit();
}
}
}

2,初始化系统托盘右键菜单

private function createSystrayRootMenu():NativeMenu {
var menu:NativeMenu=new NativeMenu();
var openNativeMenuItem:NativeMenuItem=new NativeMenuItem("Open");
var exitNativeMenuItem:NativeMenuItem=new NativeMenuItem("Exit");
openNativeMenuItem.addEventListener(Event.SELECT, undock);
exitNativeMenuItem.addEventListener(Event.SELECT, closeApp);
menu.addItem(openNativeMenuItem);
menu.addItem(new NativeMenuItem("", true));
menu.addItem(exitNativeMenuItem);
return menu;
}
//系统退出
private function closeApp(evt:Event):void {
exit();
}
//还原界面
public function undock(evt:Event):void {
stage.nativeWindow.visible=true;
stage.nativeWindow.orderToFront();
NativeApplication.nativeApplication.icon.bitmaps=[];
}

转载:http://www.wiui.net/?cat=6


下载前必看:https://pan.quark.cn/s/a4b39357ea24 在本资料中,将阐述如何运用JavaScript达成单击下拉列表框选定选项后即时转向对应页面的功能。 此种技术适用于网页布局中用户需迅速选取并转向不同页面的情形,诸如网站导航栏或内容目录等场景。 达成此功能,能够显著改善用户交互体验,精简用户的操作流程。 我们须熟悉HTML里的`<select>`组件,该组件用于构建一个选择列表。 用户可从中选定一项,并可引发一个事件来响应用户的这一选择动作。 在本次实例中,我们借助`onchange`事件监听器来实现当用户在下拉列表框中选定某个选项时,页面能自动转向该选项关联的链接地址。 JavaScript里的`window.location`属性旨在获取或设定浏览器当前载入页面的网址,通过变更该属性的值,能够实现页面的转向。 在本次实例的实现方案里,运用了`eval()`函数来动态执行字符串表达式,这在现代的JavaScript开发实践中通常不被推荐使用,因为它可能诱发安全问题及难以排错的错误。 然而,为了本例的简化展示,我们暂时搁置这一问题,因为在更复杂的实际应用中,可选用其他方法,例如ES6中的模板字符串或其他函数来安全地构建和执行字符串。 具体到本例的代码实现,`MM_jumpMenu`函数负责处理转向逻辑。 它接收三个参数:`targ`、`selObj`和`restore`。 其中`targ`代表要转向的页面,`selObj`是触发事件的下拉列表框对象,`restore`是标志位,用以指示是否需在转向后将下拉列表框的选项恢复至默认的提示项。 函数的实现通过获取`selObj`中当前选定的`selectedIndex`对应的`value`属性值,并将其赋予`...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值