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