Fügen Sie dem NativeMenuItem einen Listener für das
select
-Ereignis hinzu, um einen Klick auf ein Menüelement zu verarbeiten:
var menuCommandX:NativeMenuItem = new NativeMenuItem("Command X");
menuCommandX.addEventListener(Event.SELECT, doCommandX)
Da sich
select
-Ereignisse nach oben durch die Menüs, in denen sie enthalten sind, fortsetzen, können Sie auch in einem übergeordneten Menü einen Listener für diese Ereignisse verwenden. Beim Überwachen auf der Menüebene können Sie mithilfe der
target
-Eigenschaft des Ereignisobjekts ermitteln, welcher Menübefehl ausgewählt wurde. Im folgenden Beispiel wird die Bezeichnung des ausgewählten Befehls verfolgt:
var colorMenuItem:NativeMenuItem = new NativeMenuItem("Choose a color");
var colorMenu:NativeMenu = new NativeMenu();
colorMenuItem.submenu = colorMenu;
var red:NativeMenuItem = new NativeMenuItem("Red");
var green:NativeMenuItem = new NativeMenuItem("Green");
var blue:NativeMenuItem = new NativeMenuItem("Blue");
colorMenu.addItem(red);
colorMenu.addItem(green);
colorMenu.addItem(blue);
if(NativeApplication.supportsMenu){
NativeApplication.nativeApplication.menu.addItem(colorMenuItem);
NativeApplication.nativeApplication.menu.addEventListener(Event.SELECT, colorChoice);
} else if (NativeWindow.supportsMenu){
var windowMenu:NativeMenu = new NativeMenu();
this.stage.nativeWindow.menu = windowMenu;
windowMenu.addItem(colorMenuItem);
windowMenu.addEventListener(Event.SELECT, colorChoice);
}
function colorChoice(event:Event):void {
var menuItem:NativeMenuItem = event.target as NativeMenuItem;
trace(menuItem.label + " has been selected");
}
Wenn Sie die ContextMenuItem-Klasse verwenden, können Sie entweder das
select
- oder das
menuItemSelect
-Ereignis überwachen. Das
menuItemSelect
-Ereignis liefert zusätzliche Informationen zum Objekt, zu dem das Kontextmenü gehört, wird aber nicht nach oben durch die Menüs, in denen es enthalten ist, fortgesetzt.