Bha, sempre vi aqueles menu de contexto personalizado, e quis ter o mesmo. Atire o primeiro mouse quem nunca quis fazer o mesmo… Então neste Post, apresento um exemplo de utilização deste menu na sua própria aplicação.

Este menu pode ser criado dentro de um componente.

Arquivo main01.mxml
private function init():void
{
    // inicia as váriaveis
    var MenuContexto:ContextMenuItem=new ContextMenuItem( "Blog do Alemão" );
    var ItensMenuContexto:Array=application.contextMenu.customItems;
    ItensMenuContexto.push( MenuContexto );
    // Adiciona o evento para quando clicar no menu abrir a URL
    MenuContexto.addEventListener( ContextMenuEvent.MENU_ITEM_SELECT, SelectHandler );
}

private function SelectHandler( event:Event ):void
{
    // Vai la visitar o site do Alemao, em nova Aba
    navigateToURL( new URLRequest( "/" ), "_blank" );
}

Ao clicar no texto “Blog do Alemão”, é redeirecuionado para /.

Código fonte disponível aqui.

Gostou? Não esqueça de curtir!

Ou compartilhe o link com seus amigos

Compartilhar no Facebook Compartilhar no Google Bookmarks Compartilhar no Twitter Compartilhar no LinkedIn

5 comentários

  1. Mário Júnior

    Opa... vi o link do seu blog no e-mail e vim ver como estava.. muito bom.. já tem bem mais artigos q o meu.. kkkkk .. tempo é fogo!

    Seguinte.. nesse caso vc está usando o contextMenu do Application.
    ContextMenu é um objeto atributo de Sprite (herdado do flash) que basicamente seria a raiz de tudo oq é visual no Flash/Flex.. é algo bem baixo nível mesmo. Todo componente que herde de UIComponent no Flex tem contextMenu - ou seja, todos! - e para vc associar uma ação através dele é só amarrar um evento adicionando um listener a ele... tipo assim:

    MenuContexto.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, );

    Isso pode ser muito útil, por exemplo, em um datagrid vc pode colocar a opção de "Apagar Registro" selecionando uma linha e clicando com o botão direito. Ao clicar no ContextMenu, a função de apagar o registro é chamada... bem interessante para programdores "delphianos" q gostam desse recurso.

    O Chato são algumas opções do player que não podem ser ocultadas, mesmo fazendo o hideBuiltInMenuItems (ou coisa assim.. estou sem flex agora).

    Se quer realmente fazer um menu de contexto totalmente personalizado, pesquise por "AS right click" no google e veja um projeto interessante que depende - infelizmente - de javascript e ExternalInterface, mas funciona muito bem.

    Bem.. chega de lorota... parabéns pelo blog.. qnd chegar aí a gente toma uma coca junto.
    Falow.

  2. Thaysa Paiva

    Obrigada Eduardo!! Principalmente pela agilidade em responder :) Valeu mesmo!!

  3. marcos

    Impressão minha ou o link não abre a página no flash player 10?

  4. Junior

    Não sei se é por segurança ou BUG, mas a palavra 'Excluir', não aparece no ContextMenu

  5. Eduardo Kraus

    Testei aqui e excluir funcionou....

Deixe uma resposta