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.