Tratamento de itens de menu

Flash Player 9 e posterior, Adobe AIR 1.0 e posterior

O menu despacha eventos quando o usuário o seleciona ou quando seleciona um item de menu.

Resumo de eventos de classes de menu

Adicione ouvintes de eventos a menus ou itens individuais para tratar eventos de menu.

Objeto

Eventos despachados

NativeMenu (AIR)

Event.PREPARING (Adobe AIR 2.6 e posterior)

Event.DISPLAYING

Event.SELECT (propagado de itens filho e submenus)

NativeMenuItem (AIR)

Event.PREPARING (Adobe AIR 2.6 e posterior)

Event.SELECT

Event.DISPLAYING (propagado do menu pai)

ContextMenu

ContextMenuEvent.MENU_SELECT

ContextMenuItem

ContextMenuEvent.MENU_ITEM_SELECT

Event.SELECT (AIR)

Eventos de menu Select

Para manipular o clique de um item de menu, adicione um ouvinte de evento do evento select ao objeto NativeMenuItem:

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

Como os eventos select surgem em bolhas para os menus que os contêm, você também pode ouvir eventos select em um menu pai. Ao ouvir no nível de menu, é possível usar a propriedade target do objeto evento para determinar que comando de menu foi selecionado. O exemplo a seguir rastreia o rótulo do comando selecionado:

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

Se você estiver usando a classe ContextMenuItem, poderá ouvir o evento select ou o evento menuItemSelect . O evento menuItemSelect oferece informações adicionais sobre o objeto pertencente ao menu de contexto, mas não surge em bolhas para os menus que os contêm.

Exibição de eventos de menu

Para manipular a abertura de um menu, você pode adicionar um ouvinte ao evento displaying , que é despachado antes de o menu ser exibido. Você pode usar o evento displaying para atualizar o menu, por exemplo, adicionando ou removendo itens ou atualizando os estados ativados ou marcados de itens individuais. Você também pode ouvir o evento menuSelect de um objeto ContextMenu.

No AIR 2.6 e posterior, você pode usar o evento preparing para atualizar um menu em resposta à exibição de um menu ou à seleção de um item com um atalho no teclado.