`
xlaohe1
  • 浏览: 128752 次
  • 性别: Icon_minigender_1
  • 来自: 来处
社区版块
存档分类
最新评论

FB4 AIR 最小化托盘(右下角)

 
阅读更多
<?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>
分享到:
评论

相关推荐

    amChartsFB3+FB4+FB4破解版

    该压缩包内swc文件能确保好用,都是自己一直在用的。里面包括:amChartsFB3、FB4、FB4破解版、还有一个网上下载的使用文档。做Flex的感觉人挺少,资源不太好收集。

    RKC温控器FB400 FB900 FB100 FB700 FB500 中文使用说明书通讯协议手册

    自己实际工程中整理的RKC温控器资料:FB400 FB900 FB100 FB700 FB500 中文使用说明书,FB400 FB900 FB100 FB700 FB500 详细通讯手册,分享一下,共同进步

    三菱PLC 功能块FB块程序案例 35个带FB程序例子 适合Q系列和FX系列PLC.zip

    包含的35个FB程序例子涵盖了多种实际应用场景,如运动控制、顺序控制、模拟量处理等,通过学习这些实例,可以深入理解FB在不同场景下的使用方法和设计原则。 6. 应用场景: - 运动控制:如伺服电机、步进电机的...

    台电x80h(FB4M)原版BIOS

    使用fptw工具备份出来的BIOS,可以用来救砖。使用方法:WIN+X+A调出命令提示符(管理员),输入cd /d bios所在路径,然后输入fptw -d biosbackup.bin备份当前的bios,备份的bios最好拷贝到u盘备用,然后输入fptw -f ...

    FB2000,FB2K

    FB2000,全名Foobar2000,是一款广受好评的音频播放软件,因其出色的音质表现和高度的自定义性而在音乐爱好者和专业人士中享有极高的声誉。这款软件的主要特点包括对各种音频格式的强大支持、低资源占用、以及高度可...

    数据集FB15K.rar

    常用的算法有TransE、DistMult、ComplEx、RotatE等,它们通过最小化或最大化三元组的损失函数来优化这些向量表示。 在关系抽取任务中,FB15K数据集可以帮助模型学习如何从文本中识别并提取实体之间的关系。这涉及到...

    用Step7 中SFB41FB 41,SFB42FB42,SFB43FB43实现PID控制

    在自动化控制系统中,PID(比例-积分-微分)控制器是一种广泛应用的算法,用于调整系统的输出以达到期望的设定值。在西门子的Step7编程环境中,SFB41/FB41、SFB42/FB42以及SFB43/FB43功能块提供了集成的PID控制功能...

    通过对fb0的操作,实现截屏,和送图片到fb0

    在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编程实例程序源码下载PID _FB41_FB42_FB43.zip西门子PLC编程实例程序...

    三菱PLC FB功能块篇中文手册 加多个PLC的FB程序运用例子.zip

    4. **结构化编程**:了解如何通过FB实现结构化编程,使程序更具有层次感和可维护性,如使用结构块(STRUCTURE)和循环结构(FOR/FOR NEXT)。 5. **FB的调试与测试**:学习如何对创建的FB进行调试,确保其在实际...

    三菱PLC 功能块FB块程序案例 17个带FB程序例子 适合Q系列和FX系列PLC.zip

    3. FB的局部变量和存储区:了解FB内部如何使用局部变量和不同存储区,以及它们在多任务环境下的工作原理。 4. 交互与通信:可能包含与HMI(人机界面)、其他PLC或设备进行通信的FB例子,展示如何实现数据交换。 5. ...

    字符终端写fb0

    2. **设备文件**:在Linux中,设备通常以文件的形式存在于`/dev`目录下,如`/dev/fb0`。程序可以像操作普通文件一样与这些设备进行交互。 3. **Linux内核驱动**:`/dev/fb0`的存在得益于Linux内核的帧缓冲驱动,它...

    基于FB4实现SINUMERIK+840D双通道NC程序的自动选择

    FB4 INUMERIK 840D 双通道 NC程序 (论文)

    三菱GX Works2 FB

    4. **提高效率**:对于复杂的控制流程,使用FB可以快速构建系统,缩短项目开发周期。 在压缩包文件"fb_library"中,可能包含的是一系列预先编写好的FB模板或示例,用户可以导入到GX Works2工程中,根据需求进行选择...

    FB2M FB5M 数据集合 dataset

    它包含了大量的结构化信息,如人物、地点、事件等,并用三元组(subject-predicate-object)的形式表示这些实体之间的关系。例如,(Barack Obama, born in, Hawaii)。Freebase的数据被广泛用于知识图谱的研究和应用...

    fb_test.gz_fb 测试程序_framebuffer

    - 在嵌入式系统开发中,Framebuffer常常用于初始化和测试显示硬件,尤其是在没有图形系统的情况下。 - 在驱动开发过程中,Framebuffer测试有助于快速定位问题,特别是在没有图形调试工具的情况下。 - 在系统恢复...

    三菱PLC功能块(FB)编程.pdf

    三菱PLC功能块(FB)编程是工业自动化领域中一种高效、模块化的编程方式,尤其在复杂的控制系统设计中,FBs扮演着至关重要的角色。本文将深入探讨三菱PLC的功能块编程,包括其概念、优势以及如何在实际应用中进行...

Global site tag (gtag.js) - Google Analytics