【发布时间】:2013-11-18 08:01:48
【问题描述】:
我正在尝试在 Flex 中添加最小化面板。是否可以?有什么想法吗?
【问题讨论】:
-
我创建了一个 Spark 实现,你可以找到 on GitHub
标签: actionscript-3 apache-flex flex4 flex3 flex4.5
我正在尝试在 Flex 中添加最小化面板。是否可以?有什么想法吗?
【问题讨论】:
标签: actionscript-3 apache-flex flex4 flex3 flex4.5
【讨论】:
我挖掘了一个我在 Flex 3 中开发的旧应用程序。这就是我最小化应用程序的方法。 希望对您有所帮助!
private var trayIcon:BitmapData;
//onCreation of App
public function initApp(event:Event):void
{
loadTrayIcon();
this.addEventListener(Event.CLOSING, minToTray);
}
private function minToTray(event:Event):void{
event.preventDefault();
dock();
}
public function loadTrayIcon():void
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, readyToTray);
loader.load(new URLRequest("assets/circleblack.PNG"));
}
public function dock():void{
stage.nativeWindow.visible = false;
NativeApplication.nativeApplication.icon.bitmaps = [trayIcon];
}
private function closeApp(event:Event):void{
stage.nativeWindow.close();
}
public function unDock(event:Event):void{
stage.nativeWindow.visible = true;
stage.nativeWindow.orderToFront();
NativeApplication.nativeApplication.icon.bitmaps = [];
}
public function readyToTray(event:Event):void{
trayIcon = event.target.content.bitmapData;
var myMenu:NativeMenu = new NativeMenu();
var openItem:NativeMenuItem = new NativeMenuItem("Open");
var closeItem:NativeMenuItem = new NativeMenuItem("Close");
openItem.addEventListener(Event.SELECT, unDock);
closeItem.addEventListener(Event.SELECT, closeApp);
myMenu.addItem(openItem);
myMenu.addItem(new NativeMenuItem("", true));
myMenu.addItem(closeItem);
this.systemTrayIconMenu
if(NativeApplication.supportsSystemTrayIcon){
SystemTrayIcon(NativeApplication.nativeApplication.icon).tooltip = "Test App";
SystemTrayIcon(NativeApplication.nativeApplication.icon).
addEventListener(MouseEvent.CLICK, unDock);
stage.nativeWindow.addEventListener(
NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGING, winMinimized);
SystemTrayIcon(NativeApplication.nativeApplication.icon).menu = myMenu;
this.nativeApplication.menu = myMenu;
}
}
private function winMinimized(displayStateEvent:NativeWindowDisplayStateEvent):void{
if(displayStateEvent.afterDisplayState == NativeWindowDisplayState.MINIMIZED){
displayStateEvent.preventDefault();
dock();
}
}
【讨论】: