Razvan Surdu Personal Blog

20Aug/090

Creating a system tray icon and menu for your AIR application

private function createSysTray():void
{
	if(NativeApplication.supportsDockIcon)
	{
		NativeApplication.nativeApplication.icon.bitmaps = 	[ new icon16().bitmapData ];
	    var dockIcon:DockIcon = NativeApplication.nativeApplication.icon as DockIcon;
	    NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, showMainWindow);
	    dockIcon.menu = createIconMenu();
	} else if (NativeApplication.supportsSystemTrayIcon){
		NativeApplication.nativeApplication.icon.bitmaps = 	[ new icon16().bitmapData ];
	    var sysTrayIcon:SystemTrayIcon = NativeApplication.nativeApplication.icon as SystemTrayIcon;
	    sysTrayIcon.tooltip = "Tooltip";
	   	sysTrayIcon.addEventListener(MouseEvent.CLICK,function():void
	   	{
	   		//Icon Click Handler
	   	});
	    sysTrayIcon.menu = createIconMenu();
	}
}

private function createIconMenu():NativeMenu{
    if(NativeApplication.supportsSystemTrayIcon){
    	var iconMenu:NativeMenu = new NativeMenu();

    	var showSettingsCommand:NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Edit Settings"));
    	showSettingsCommand.addEventListener(Event.SELECT, showSettingsWindow);

        var exitCommand: NativeMenuItem = iconMenu.addItem(new NativeMenuItem("Close"));
        exitCommand.addEventListener(Event.SELECT, function ():void
        {
        	stage.nativeWindow.close();
        });
    }
    return iconMenu;
}
Filed under: Examples, Flex Leave a comment
Comments (0) Trackbacks (0)

No comments yet.


Leave a comment


No trackbacks yet.