Algumas teclas e/ou combinações de teclas o sistema operacional ou o
browser capturam antes. Outras simplesmente não são despachadas pelo
browser.
Por exemplo, se vc estiver em um windows e pressionar Ctrl+Alt+Del
ou Shift+Ctrl+Esc, o windows captura antes do flash player e já executa
a sequencia. Idem para Ctrl+W ou Alt+F4.
O Player do flash simplesmente não recebe tal combinações de teclas.
As teclas F1..F12 seguem as mesmas regras. Algumas podem ser usadas
outras não.
Fiz o código abaixo para ilustrar um modo (tosco) de fazer funcionar
um comando por tecla.
Lembrando que quando executar um programa feito em flash em um
browser, o flashplayer apenas recebe input das teclas se ele receber o
foco (e o foco não é automático, é preciso que o usuario clique na
aplicação antes de valer o input das teclas - para esse fim coloquei um
botão que não faz nada, mas recebe o input, apenas para ilustrar).
Bom... essa maneira foi a única que encontrei. Se alguém souber de
outra seria bacana de ver.
abraços,
Luís Eduardo.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
layout="vertical"
xmlns:mx="http://www.adobe.com/2006/mxml"
keyDown="myKeyDownHandler(event)">
<mx:Button label="fake button" toolTip="Apenas para ter um foco.
Clique nele e o foco estará aqui"/>
<mx:Label text="Texto (ctrl+q ou F2 fazem blur)"/>
<mx:TextArea id="taSrc" width="300" height="200" toolTip="Digite
aqui qualquer texto. Nesse quadro aparecem as letras digitadas."/>
<mx:Label text="KeyCodes correspondentes"/>
<mx:TextArea id="taDst" width="300" height="200" toolTip="Nesse
quadro os keycodes das teclas pressionadas são exibidos."/>
<mx:Blur id="eff" blurXFrom="255" blurXTo="0" targets="{[taSrc,
taDst]}"/>
<mx:Script>
<![CDATA[
public function myKeyDownHandler(event:KeyboardEvent):void {
if ( event.ctrlKey ) {
if ( event.keyCode == 81 ) { //81 == "Q"
taDst.text += "blur!!! ";
eff.play();
}
}
else if ( event.keyCode == Keyboard.F2 ) { // ou keycode == 113
taDst.text += "blur!!! ";
eff.play();
}
taDst.text += event.keyCode + " ";
}
]]>
</mx:Script>
</mx:Application>
Tecnologia e Sistemas escreveu:
> Pessoal, alguem sabe como utilizar/habilitar o uso das teclas F1...F12 no
> Flex ???
>
>
>
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---