Ah, tá... mas não era isso que eu quis dizer...
Essa aí eu já sabia ;0)
O exemplo que eu estava falando, que tá no Help do Flex, é que tu põe o
Application (ou qualquer container, qualquer componente) pra "escutar" o keyUp,
e isso só rola se digitares texto ou clicares num botão....
Se tu clicar no Application, no Panel ou onde mais for, não funciona... Não
dispara o evento!
Tipo isso aqui:
<?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 mx.controls.Alert;
private function initApp():void {
this.setFocus();
addEventListener(KeyboardEvent.KEY_UP, pressEnter);
addEventListener(MouseEvent.CLICK, pressMouse);
}
private function pressEnter(evt:Event):void{
if(KeyboardEvent(evt).keyCode==Keyboard.ENTER){
Alert.show("clicou no ENTER");
}
}
private function pressMouse(evt:MouseEvent):void{
Alert.show("clicou");
}
]]>
</mx:Script>
<mx:Panel>
<mx:Form>
<mx:FormItem label="Nome:" required="true">
<mx:TextInput restrict="A-Za-z"/>
</mx:FormItem>
<mx:FormItem>
<mx:Button label="Enviar"/>
</mx:FormItem>
</mx:Form>
</mx:Panel>
</mx:Application>
Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br
Date: Tue, 14 Oct 2008 11:53:29 -0300
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [flexdev] Re: Nada de mais, mas... - KeyboardEvents
hehehehe... é isso mesmo Gabriela.
Acontece q quando os browsers carregam a página, o foco está no documento html
e não no objeto embutido (embed, o swf no caso) daí o player não consegue
"pegar" o foco sem q o usário acione ele.
Vc pode forçar, com javascript e alterando o intex-template.html, para que ao
carregar a página o Foco seja passado para o swf (simulando um click) ...
sejamos sinceros, é meio feio, mas até onde sei é a única forma...
segue...
http://br.groups.yahoo.com/group/flex-brasil/message/18262
(continue lendo a thread pq há mais alterações a fazer além dessas descritas
pelo Igor)
um abraço.
2008/10/14 gabriela perry <[EMAIL PROTECTED]>
Olá a todos.
Estou tentando aqui usar eventos de teclado, e achei uma coisa meio engraçada
não conseguir ser notificada deles a menos que haja alguma ação do usuário
(clicar num botão, digitar texto)...
Os exemplos do help mesmo "não funcionam".... Por exemplo: Flex Programming
Elements / Using Events / About keyboard events / Handling keyboard events
Alguém tem alguma idéia de porque seja assim?
Daí na classe KeyboardEvent ele me vêm com essa:
"To listen globally for key events, listen on the Stage for the capture and
target or bubble phase."
Ahn???
:0P
Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br
Invite your mail contacts to join your friends list with Windows Live Spaces.
It's easy! Try it!
--
Mário de Souza Júnior
Programador Java / Adobe Flex
(44) 4009-3550 Maringá-PR
http://blog.mariojunior.com
[EMAIL PROTECTED] (gtalk, msn, etc..)
_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---