Menugebeurtenissen afhandelen

Flash Player 9 of hoger, Adobe AIR 1.0 of hoger

Een menu verzendt gebeurtenissen wanneer de gebruiker het menu of een menu-item selecteert.

Overzicht van de gebeurtenissen voor menuklassen

Voeg gebeurtenislisteners aan menu's of individuele items toe om menugebeurtenissen af te handelen.

Object

Verzonden gebeurtenissen

NativeMenu (AIR)

Event.PREPARING (Adobe AIR 2.6 of hoger)

Event.DISPLAYING

Event.SELECT (doorgegeven door onderliggende items en submenu's)

NativeMenuItem (AIR)

Event.PREPARING (Adobe AIR 2.6 of hoger)

Event.SELECT

Event.DISPLAYING (doorgegeven door het bovenliggende menu)

ContextMenu

ContextMenuEvent.MENU_SELECT

ContextMenuItem

ContextMenuEvent.MENU_ITEM_SELECT

Event.SELECT (AIR)

Select-menugebeurtenissen

Om een klik op een menu-item af te handelen, voegt u een gebeurtenislistener voor de gebeurtenis select toe aan het NativeMenuItem-object:

var menuCommandX:NativeMenuItem = new NativeMenuItem("Command X"); 
menuCommandX.addEventListener(Event.SELECT, doCommandX)

Omdat select -gebeurtenissen worden doorgegeven naar de bevattende menu's, kunt u ook luisteren naar select-gebeurtenissen in een bovenliggend menu. Wanneer u luistert op menuniveau, kunt u de eigenschap target van het gebeurtenisobject gebruiken om te controleren welke menuopdracht is geselecteerd. In het volgende voorbeeld wordt het label van de geselecteerde opdracht getraceerd:

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"); 
} 

Als u de klasse ContextMenuItem gebruikt, kunt u luisteren naar de gebeurtenis select of menuItemSelect . De gebeurtenis menuItemSelect geeft u aanvullende informatie over het object waarvan het contextmenu eigendom is, maar wordt niet doorgegeven naar de bevattende menu's.

Displaying-menugebeurtenissen

Om het openen van een menu af te handelen, kunt u een listener toevoegen voor de gebeurtenis displaying die wordt verzonden voordat een menu wordt weergegeven. U kunt de gebeurtenis displaying gebruiken om het menu te updaten, bijvoorbeeld door items toe te voegen of te verwijderen, of door de ingeschakelde of aangevinkte status van afzonderlijke items te updaten. U kunt ook luisteren naar de gebeurtenis menuSelect in een ContextMenu.

In AIR 2.6 of hoger kunt u met de preparing -gebeurtenis een menu bijwerken als reactie op het weergeven van een menu of het selecteren van een item met een sneltoets.