AIR ContextWindow

Here is a sample application file:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute">

    <mx:Script>
        <![CDATA[
            import com.everythingflex.air.components.ContextWindow;
           
            private function createWindow():void{
                var w:ContextWindow = new ContextWindow();
                w.width=200;
                w.height=100;
                w.open();
            }
        ]]>
    </mx:Script>
    <mx:Button click="createWindow()" label="Create Wndow"
     horizontalCenter="0" verticalCenter="0"/>

</mx:WindowedApplication>

Here is the ContextWindow.as class file:

package com.everythingflex.air.components
{
    import flash.display.NativeMenu;
    import flash.display.NativeMenuItem;
    import flash.events.Event;
   
    import mx.core.Window;

    public class ContextWindow extends Window
    {
        public function ContextWindow():void{
            super();
            createMenu();
        }
        private function createMenu():void{
          var mainMenu:NativeMenu = new NativeMenu();
                var minimizeMenu:NativeMenuItem = new NativeMenuItem("Minimize");
                var maximizeMenu:NativeMenuItem = new NativeMenuItem("Maximize");
                var restoreMenu:NativeMenuItem = new NativeMenuItem("Restore");
                var closeMenu:NativeMenuItem = new NativeMenuItem("Close");
                minimizeMenu.addEventListener(Event.Select, handleMenuClick);
                maximizeMenu.addEventListener(Event.Select, handleMenuClick);
                restoreMenu.addEventListener(Event.Select, handleMenuClick);
                closeMenu.addEventListener(Event.Select, handleMenuClick);
                mainMenu.addItem(minimizeMenu);
                mainMenu.addItem(maximizeMenu);
                mainMenu.addItem(restoreMenu);
                mainMenu.addItem(closeMenu);
                this.contextMenu=mainMenu;;
         }
         
         private function handleMenuClick(e:Event):void{
          var menuItem:NativeMenuItem = e.target as NativeMenuItem;
                if(menuItem.label == "Minimize") this.minimize();
                if(menuItem.label == "Maximize") this.maximize();
                if(menuItem.label == "Restore") this.restore();
                if(menuItem.label == "Close") this.close();
         }
    }
}

Share