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

Responder a