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 [email protected]
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
-~----------~----~----~----~------~----~------~--~---

Responder a