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 -~----------~----~----~----~------~----~------~--~---