Adicionando item personalizado ao menu de contexto

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( "http://blog.mxml.com.br/" ), "_blank" );
}

Ao clicar no texto “Blog do Alemão”, é redeirecuionado para http://blog.mxml.com.br/.

Código fonte disponível aqui.

Você pode seguir todas as respostas a esta entrada através do RSS 2.0 feed. Você pode deixar um comentário, ou colocar um link em seu site.



3 comentarios »

 
  • 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.

  • Thaysa Paiva says:

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

  • marcos says:

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

 

XHTML: Puedes usar las siguientes etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>