Daniel, obrigado pela resposta, o dispatchEvent funcionou direitinho... Só não entendi direito ainda essa parte que voce mencionou sobre colocar o event listener no container...
Tipo, pra cada Title Window por exemplo, digamos que eu tenho 2 botoes com shortKey, eu teria que fazer 2 ouvintes em cada TitleWindow? Muito obrigado pela ajuda! Abraço! On 10 abr, 12:51, Daniel Lopes <[EMAIL PROTECTED]> wrote: > Coloca o event listener no container de seus botoes e faz um case para > ver qual tecla foi apertada. > Para dispara o evento do botão use dispatch, tipo assim: > > b1.dispatchEvent(new MouseEvent(MouseEvent.CLICK)); > > On 10 abr, 10:44, Sá <[EMAIL PROTECTED]> wrote: > > > Só mais uma coisa! > > > Vejam com eu fiz,,, > > Coloquei: > > addEventListener(KeyboardEvent.KEY_DOWN, this.mubtn.interceptKey > > > Onde mubtn é o meu botão... > > > E interceptKey é: > > public function interceptKey( > > event:flash.events.KeyboardEvent ) : > > void{ > > if (event.keyCode==_key){ > > Alert.show("Apertou!") > > } > > } > > > As dúvidas agora, pra cada botão com tecla de atalho eu vou ter que > > colocar um addEventListener? > > E ali, onde tem Alert.show("Apertou!") eu quero que execute o clique > > do botão... Como faço isso? > > > Valeu pessoal! Abraço! > > > On 10 abr, 10:23, Sá <[EMAIL PROTECTED]> wrote: > > > > Pessoal, muito obrigado a todos pela ajuda... > > > Daniel, muito obrigado pelo exemplo que você postou, vai se tornar uma > > > boa referencia mais a frente... > > > Beck, meu problema era exatamente este que você mencionou! Muito > > > Obrigado... > > > Luís, eu preciso basicamente do ESC e do ENTER, mais a frentre quem > > > sabe eu precisse de outras teclas... Obrigado também! > > > > On 10 abr, 08:22, Luis Eduardo - Suprasis Softwares > > > > <[EMAIL PROTECTED]> wrote: > > > > Só lembrando que determinadas teclas e/ou conjunto de teclas não > > > > estão disponíveis para o FlashPlayer, logo não são utilizáveis (como em > > > > um programa Delphi seriam ou provavelmente em um AIR também). > > > > Um exemplo é a tecla F5, ALT+F4, CTRL+W. Mas existem umas tantas > > > > outras... e se não me engano (uns 90% de certeza, se é que certeza > > > > existe em 90%) isso varia de browser pra browser, mesmo o Flex tentando > > > > esconder essa briga entre browsers pra gente. > > > > > Então a dica é: antes de escolher as teclas, dê uma testada se ela > > > > está disponível nos navegadores de seus clientes. > > > > > Ah! detalhe sórdido... as teclas disponíveis dependem também dos > > > > sistemas instalados no computador do usuário. Se um google toolbar, por > > > > exemplo, estiver instalado, uma combinação de tecla que não me lembro > > > > qual, fica pra ele e o FlashPlayer não a enxerga mais. Sei lá quais > > > > teclas o Yahoo toolbar ou o Mininova toolbar usam. > > > > > Isso o marketing da Adobe não fala pra gente.... enfim... > > > > > Queria dar notícias mais alegres :) > > > > > abraços, > > > > Luís Eduardo > > > > > Daniel Lopes escreveu: > > > > > > Obrigado Beck, não tinha me atentado para isso... realmente acho que o > > > > > problema dele vai ser resolvido colocando os listeners no container > > > > > onde está o componente. > > > > > Bem de qualquer forma fica ai o exemplo se alguem procurar por isso no > > > > > grupo. > > > > > > Abraço. > > > > > > On 9 abr, 23:51, Beck Novaes <[EMAIL PROTECTED]> wrote: > > > > > >> Hm... acho que o problema do nosso amigo é outro. Pelo que eu pude > > > > >> entender ele já esta familiarizado com a API necessária para capturar > > > > >> os eventos do teclado. Suponho que o componente que ele estendeu não > > > > >> esteja funcionando porque ele adicionou o Listener para o botão, > > > > >> assim > > > > >> o evento do teclado só será capturado se o botão tiver o foco. Da > > > > >> mesma forma, no seu exemplo o evento só será capturado se o textInput > > > > >> tiver o foco. Tanto o seu exemplo quanto o dele poderiam ser > > > > >> independentes do componente que tivesse o foco se o Handler estivesse > > > > >> tratando um evento do Application no lugar de um componente > > > > >> específico. No seu exemplo basta remover o substituir > > > > >> "tf.addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown)" por > > > > >> "addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown)" ou seja, sem > > > > >> a referência para o textInput. No caso dele, talvez ele tenha que > > > > >> adicionar o listener para o Application. > > > > > >> mx.core.Application.application.addEventListener(KeyboardEvent.KEY_DOWN, > > > > >> myHandler); > > > > > >> Será que é isso, Sá, que você precisa? > > > > > >> []'s > > > > >> Beck Novaes > > > > > >> On 9 abr, 23:15, Daniel Lopes <[EMAIL PROTECTED]> wrote: > > > > > >>> Ai está o exemplo que prometi... é só dar uma olhada na classe > > > > >>> flash.ui.Keyboard . Cada tecla tem uma constante e vc pode usar isso > > > > >>> como shortcut, no exemplo se vc aperta SHIFT ele muda a cor do > > > > >>> componente e se apertar ctrl muda de cor de novo. > > > > > >>> <?xml version="1.0" encoding="utf-8"?> > > > > >>> <mx:Application > > > > >>> xmlns:mx="http://www.adobe.com/2006/mxml" > > > > >>> layout="absolute" > > > > >>> creationComplete="initApp()"> > > > > > >>> <mx:Script> > > > > >>> <![CDATA[ > > > > >>> import flash.ui.Keyboard; > > > > > >>> public function initApp():void{ > > > > >>> > > > > >>> tf.addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown); > > > > >>> } > > > > > >>> public function > > > > >>> reportKeyDown(event:KeyboardEvent):void > > > > >>> { > > > > >>> trace("Tecla apertada: " + > > > > >>> String.fromCharCode(event.charCode) + > > > > >>> "(codigo:" + event.keyCode + " character code: " + event.charCode + > > > > >>> ")"); > > > > >>> if (event.keyCode == Keyboard.CONTROL) > > > > >>> tf.setStyle('backgroundColor',0xFFFF00); > > > > >>> else if (event.keyCode == Keyboard.SHIFT) > > > > >>> tf.setStyle('backgroundColor',0xFF0000); > > > > >>> } > > > > > >>> ]]> > > > > >>> </mx:Script> > > > > > >>> <mx:TextInput id="tf" /> > > > > > >>> </mx:Application> > > > > > >>> On 9 abr, 21:55, Daniel Lopes <[EMAIL PROTECTED]> wrote: > > > > > >>>> cara... tem um tanto de coisa nesse código que não precisa e mudou > > > > >>>> para o Flex 3... > > > > >>>> Vou fazer um exemplo e posto aqui daqui a pouco > > > > > >>>> On 9 abr, 19:49, Sá <[EMAIL PROTECTED]> wrote: > > > > > >>>>> Pessoal, meu cliente pediu para que ao clicar certas teclas > > > > >>>>> executar o > > > > >>>>> click de determinados botões... > > > > >>>>> Eu trabalho full-time com Flex e ActionScript há menos de 10 > > > > >>>>> dias, e > > > > >>>>> sou auto-didata, ou seja, pouca experiência e sem nenhum curso > > > > >>>>> sobre o > > > > >>>>> assunto... > > > > > >>>>> Mas até que a coisa tá indo... > > > > > >>>>> Então, resolvi criar um classe estendendo o Button, criar um set > > > > >>>>> shortKey nessa classe, adicionar um addEventListener do KeyDown e > > > > >>>>> intercepta-lo executando o click do botão caso o cidadão tenha > > > > >>>>> pressionado a tecla informada na propriedade shortKey... Mas > > > > >>>>> acontece > > > > >>>>> que o KeyDown não é interceptado... > > > > > >>>>> Eu queria saber se já existe a implementação de algo desse tipo, > > > > >>>>> botão > > > > >>>>> com tecla de atalho, e se não houver, alguem se dispõe a me > > > > >>>>> ajudar a > > > > >>>>> fazer isso? Pelo menos digam ai se eu estou no caminho certo, com > > > > >>>>> o > > > > >>>>> raciocino e lógica certa... > > > > > >>>>> Pretendo disponibilizar esse controle para download no nosso blog, > > > > >>>>> será open-source ;) > > > > > >>>>> Abraço e obrigado desde já! > > > > > >>>>> Marcus Sáhttp://www.maxup.com.brhttp://www.maxup.com.br/blog --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---