<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" >
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.CloseEvent;
private var dockImage:BitmapData;
public function initApplication():void {
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, prepareForSystray);
loader.load(new URLRequest("assets/ok.png"));
this.addEventListener(Event.CLOSING, closingApplication);
}
private function closingApplication(evt:Event):void {
evt.preventDefault();
Alert.yesLabel = "Close";
Alert.noLabel = "Minimize";
Alert.show("Close or minimize?", "Close?", 3, this, alertCloseHandler);
}
private function alertCloseHandler(event:CloseEvent):void {
if (event.detail==Alert.YES) {
closeApp(event);
} else {
dock();
}
}
public function prepareForSystray(event:Event):void {
dockImage = event.target.content.bitmapData;
if (NativeApplication.supportsSystemTrayIcon){
setSystemTrayProperties();
SystemTrayIcon(NativeApplication.nativeApplication .icon).menu = createSystrayRootMenu();
}
}
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 setSystemTrayProperties():void{
SystemTrayIcon(NativeApplication.nativeApplication .icon).tooltip = "Systray test application";
SystemTrayIcon(NativeApplication.nativeApplication .icon).addEventListener(MouseEvent.CLICK, undock);
stage.nativeWindow.addEventListener(NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING, nwMinimized); //Catch the minimize event
}
private function nwMinimized(displayStateEvent:NativeWindowDisplayStateEvent):void {
if(displayStateEvent.afterDisplayState == NativeWindowDisplayState.MINIMIZED) {
displayStateEvent.preventDefault();
dock();
}
}
public function dock():void {
stage.nativeWindow.visible = false;
NativeApplication.nativeApplication .icon.bitmaps = [dockImage];
}
public function undock(evt:Event):void {
stage.nativeWindow.visible = true;
stage.nativeWindow.orderToFront();
NativeApplication.nativeApplication .icon.bitmaps = [];
}
private function closeApp(evt:Event):void {
stage.nativeWindow.close();
NativeApplication.nativeApplication .icon.bitmaps = []; //clean this icon
}
]]>
</fx:Script>
<s:Button click="closingApplication(event);" creationComplete="initApplication()"/>
</s:WindowedApplication>
分享到:
相关推荐
该压缩包内swc文件能确保好用,都是自己一直在用的。里面包括:amChartsFB3、FB4、FB4破解版、还有一个网上下载的使用文档。做Flex的感觉人挺少,资源不太好收集。
三菱FX系列模拟量与数字量FB函数块标准化设计:高效可重复调用的工程化编程实践,三菱FX3U模拟量FB函数块,使用结构化工程编写,FB块全部用ST语言编写,支持重复调用。 现在测试FX3U4DA FB块与数学量转工程量FB块,已...
此外,并非所有情况下都必须使用FB2或FB3,PLC与NC进行数据交换还有其他多种方法,例如PLC机床数据和公共交换区等。还有一些功能可以通过NC程序直接完成,或者使用选件功能来实现更复杂的操作,例如当轴运动到特定...
自己实际工程中整理的RKC温控器资料:FB400 FB900 FB100 FB700 FB500 中文使用说明书,FB400 FB900 FB100 FB700 FB500 详细通讯手册,分享一下,共同进步
根据给定文件内容,FB284管脚说明的相关知识点可以概括如下: 1. FB284管脚功能介绍: FB284是西门子S7-1200、S7-1500、S7-300和S7-400 PLC中集成的一个用于基本定位的功能块,属于TIAPORTAL软件的一个组件。该...
包含的35个FB程序例子涵盖了多种实际应用场景,如运动控制、顺序控制、模拟量处理等,通过学习这些实例,可以深入理解FB在不同场景下的使用方法和设计原则。 6. 应用场景: - 运动控制:如伺服电机、步进电机的...
2. **设备文件**:在Linux中,设备通常以文件的形式存在于`/dev`目录下,如`/dev/fb0`。程序可以像操作普通文件一样与这些设备进行交互。 3. **Linux内核驱动**:`/dev/fb0`的存在得益于Linux内核的帧缓冲驱动,它...
使用fptw工具备份出来的BIOS,可以用来救砖。使用方法:WIN+X+A调出命令提示符(管理员),输入cd /d bios所在路径,然后输入fptw -d biosbackup.bin备份当前的bios,备份的bios最好拷贝到u盘备用,然后输入fptw -f ...
在自动化控制系统中,PID(比例-积分-微分)控制器是一种广泛应用的算法,用于调整系统的输出以达到期望的设定值。在西门子的Step7编程环境中,SFB41/FB41、SFB42/FB42以及SFB43/FB43功能块提供了集成的PID控制功能...
FB2000,全名Foobar2000,是一款广受好评的音频播放软件,因其出色的音质表现和高度的自定义性而在音乐爱好者和专业人士中享有极高的声誉。这款软件的主要特点包括对各种音频格式的强大支持、低资源占用、以及高度可...
常用的算法有TransE、DistMult、ComplEx、RotatE等,它们通过最小化或最大化三元组的损失函数来优化这些向量表示。 在关系抽取任务中,FB15K数据集可以帮助模型学习如何从文本中识别并提取实体之间的关系。这涉及到...
在Android系统中,fb0(Framebuffer)是操作系统用于图形输出的一种设备驱动,它是一个内存区域,存储了屏幕上的每一个像素的颜色值。fb0的操作对于实现屏幕截图和图像处理功能至关重要。本文将深入探讨如何通过操作...
PID _FB41_FB42_FB43.zip西门子PLC编程实例程序源码下载PID _FB41_FB42_FB43.zip西门子PLC编程实例程序源码下载PID _FB41_FB42_FB43.zip西门子PLC编程实例程序源码下载PID _FB41_FB42_FB43.zip西门子PLC编程实例程序...
4. **结构化编程**:了解如何通过FB实现结构化编程,使程序更具有层次感和可维护性,如使用结构块(STRUCTURE)和循环结构(FOR/FOR NEXT)。 5. **FB的调试与测试**:学习如何对创建的FB进行调试,确保其在实际...
3. FB的局部变量和存储区:了解FB内部如何使用局部变量和不同存储区,以及它们在多任务环境下的工作原理。 4. 交互与通信:可能包含与HMI(人机界面)、其他PLC或设备进行通信的FB例子,展示如何实现数据交换。 5. ...
用法:下面简单说下这个界面配置主要的更新以及修改(相对于以前打包的Xch4nge)还有相关用法: 1.FB 版本更新至 v1.1.17 Final; 2.替换插件foo_uie_wsh_panel_mod_mod为Neo修改的foo_uie_wsh_panel_sp(本配置所...
标题中的"fb45_v1_6_fb45_pureiad_code_PLC-card_siemens_"似乎是一个项目或软件版本的标识符,其中包含了几个关键元素。"fb45"可能指的是某种特定的设备或者模块,"v1_6"表示这是该产品或系统的第1.6版本。"pureiad...
FB4 INUMERIK 840D 双通道 NC程序 (论文)
### 840D的PLC功能块FB2和FB3读写NC系统变量 #### 一、概述 在SINUMERIK 810D/840D数控系统中,为了实现PLC与NC(Numerical Control,数控系统)之间的数据交互,提供了专门的功能块FB2和FB3来读取和写入NC系统的...
它包含了大量的结构化信息,如人物、地点、事件等,并用三元组(subject-predicate-object)的形式表示这些实体之间的关系。例如,(Barack Obama, born in, Hawaii)。Freebase的数据被广泛用于知识图谱的研究和应用...