Como a grande maioria dos meus usuários utiliza IE, não é tanto problema... É que tenho cada cliente chato q tu não faz noção... um pixel fora de lugar e abre-se ocorrência =(
-------------------------------------------------- From: "RafaelViana" <rfl.vi...@gmail.com> Sent: Saturday, December 19, 2009 1:48 PM To: "flexdev" <flexdev@googlegroups.com> Subject: [flexdev] Re: TextInput & Ctrl+X
Realmente no IE não funcionou... Uma vez vi um hack para colocar o foco do navegador na aplicação..Mas acho que mesmo assim se fosse apertado o F5 no IE ele daria o refresh :S.. Alguns links interessantes sobre o assunto: http://santrajan.blogspot.com/2007/03/cross-browser-keyboard-handler.html http://blog.flexexamples.com/2008/02/29/determining-if-a-flex-application-has-focus-using-the-activate-and-deactivate-events/ http://www.appfoundation.com/blogs/giametta/2007/07/09/internet-explorer-setting-focus-on-flex-apps-flash-player/ http://www.colettas.org/?p=69 Realmente isso é um problema.. Pois cada navegador tem suas teclas de atalho (apesar do CTRL + X não ser uma tecla de atalho do Internet Explorer...), e seu modo de interpretar (CSS é um bom exemplo de como os navegadores são um problema...) Enfim, nesses casos prefiro buscar outra solução (como você que já resolveu) do que resolver o problema. On 19 dez, 13:30, J.C.Ködel <jcko...@gmail.com> wrote:Agora tenta fazer o mesmo no IE =)O meu pelo menos não funciona... fiz um alert com o código que você postou,funciona bem no Chrome e no FireLerdo, mas no IEca não >.< É como eu disse antes: F5, por exemplo, funciona no IE (e acho que no FF)como Refresh, no Chrome ele não atualiza a página (claro, considerando que ofoco esteja com o plug-in do Flex).Outra coisa que é diferente nos navegadores (e aliás, quem puder me ajudarcom isso, agradeço):Imagine que você tenha um textinput e sete o foco nele. Assim que você abre o projeto no navegador, não adianta digitar porque ele não vai responder (ofoco não está no plug-in do Flash). No IE, eu consigo fazer umdocument.getElementById("{application}").focus() e isso resolve o problema,mas esse hack não funciona no Chrome e no FF =\ Eu gostaria de algo semelhante ao Silverlight: System.Web.Browser.PlugIn.SetFocus()... Isso sempre captura o plug-in doSilverLight e aí consigo dar o foco nele para responder ao teclado assim queo aplicativo inicia. -------------------------------------------------- From: "RafaelViana" <rfl.vi...@gmail.com> Sent: Saturday, December 19, 2009 1:22 PM To: "flexdev" <flexdev@googlegroups.com> Subject: [flexdev] Re: TextInput & Ctrl+X > Fiquei um pouco intrigado.. sempre usava o KeyboardEvent, mas nunca > com teclas combinadas, então fiz uns testes para ver se realmente não > capturava, coloquei essa função teste no keyDown de um componente. > private function teste(event:KeyboardEvent):void{ > trace(event.keyCode); > trace(event.ctrlKey); > //if(event.ctrlKey && event.keyCode == Keyboard.F1) > // trace("CTRL + F1"); > if(event.ctrlKey && event.keyCode == 88) > trace("CTRL + X"); > } > Debug (no keyUp não fica entrando zilhões de entradas): > //sendo que o 17 é código do ctrl e 88 o do x: > 17 > true > 88 > true > CTRL + X > Ali no if consegui pegar a ação do CTRL + X, talvez possa te ajudar. > Lista dos codes: >http://people.uncw.edu/tompkinsj/112/FlashActionScript/keyCodes.htm > On 19 dez, 12:54, J.C.Ködel <jcko...@gmail.com> wrote: >> Não tem como. >> Há 3 variáveis no evento de teclado: localização da tecla (esquerda, >> direita, numpad), código da tecla (somente as teclas de controle, não >> existem códigos para as teclas normais) e código ANSI da tecla.>> Quando o Control está pressionado, o código ANSI da tecla vem em >> branco,>> impossibilitando de pegar qual tecla está sendo pressionada juntamente >> com o>> control, nem é disparado outro evento para a outra tecla quando >> Control>> está >> pressionado, além da estupidez de considerar KeyDown como KeyPress (ou >> seja,>> se você segura Control, ele dispara zilhões de eventos com KeyCode = >> 17>> (que>> é o Control), quando na verdade eu estou pedindo um evento apenas >> quando>> a >> tecla for "abaixada" (DOWN)). >> E, para piorar um pouco, os eventos de teclado estão na parte dos >> componentes Flex que não são open source (dentro do Flash).>> O mundo ideal seria o Flex falar... OS ou Navegador, dane-se você, eu >> vou>> processar todas as teclas =) O Chrome parece que faz isso às vezes, >> porque >> quando estou com foco no Flex e pressiono F5, ele não dá refresh. O IE>> maldito já pega as teclas pra ele e boa (nem Alt funciona no Flex... o >> IE>> já >> abre a barra de menu logo de cara). >> Enfim... pra evitar voltar ao velho problema do HTML em comportamentos >> diferentes para diferentes navegadores, deixo quieto essa parte... deu >> pra >> contornar o problema, então tá tudo bem =) >> -------------------------------------------------- >> From: "RafaelViana" <rfl.vi...@gmail.com> >> Sent: Saturday, December 19, 2009 11:57 AM >> To: "flexdev" <flexdev@googlegroups.com> >> Subject: [flexdev] Re: TextInput & Ctrl+X >> > Já fez o teste de apertar CTRL + outra letra que não seja atalho dos >> > SO's? >> > E ver se consegue escutar esse evento? >> > On 19 dez, 11:44, J.C.Ködel <jcko...@gmail.com> wrote: >> >> Não pega... o evento não é disparado. Ele pega o código 17 que é o >> >> Ctrl >> >> (e>> >> fica repetindo, o que não deveria fazer já que não é evento >> >> KeyPress e>> >> sim>> >> KeyDown), mas quando teclo X ele simplesmente dá cut e não dispara >> >> os>> >> eventos de teclado) >> >> Mas já resolvi o problema de outra forma, obrigado. >> >> -------------------------------------------------- >> >> From: "RafaelViana" <rfl.vi...@gmail.com> >> >> Sent: Saturday, December 19, 2009 11:41 AM >> >> To: "flexdev" <flexdev@googlegroups.com> >> >> Subject: [flexdev] Re: TextInput & Ctrl+X >> >> > Para pegar a tecla CTRL + X, seria algo como: >> >> > private function teste(event:KeyboardEvent):void{ >> >> > if(event.ctrlKey && event.keyCode == codigo da tecla x) >> >> > .... >> >> > } >> >> > Mas.... >> >> > "CTRL+X is a command you can't override. CTRL+X in most OS's (all >> >> > the>> >> > ones supported by Flash at least) is the default shortcut for >> >> > 'cut'.>> >> > You can't override that call at all." >> >> > Retirado >> >> > de:http://www.actionscript.org/forums/showthread.php3?t=214879 >> >> > On 19 dez, 10:19, J.C.Ködel <jcko...@gmail.com> wrote: >> >> >> Estou desenvolvendo um componente de MaskedTextInput (aliás, >> >> >> aprimorando >> >> >> o q a Adobe fez), mas estou com um problema que não estou >> >> >> conseguindo >> >> >> solucionar: >> >> >>http://www.kodelsolutions.com/Sandbox.swf >> >> >> No exemplo acima, experimente digitar algo, selecionar uma parte >> >> >> (ou >> >> >> tudo) e teclar Ctrl+X. >> >> >> O problema é que eu não consigo capturar quando o usuário tecla >> >> >> Ctrl+X >> >> >> (Cut to Clipboard). O componente requer algumas ações especiais >> >> >> quando>> >> >> algum caractere é deletado, e o Ctrl+X exclui caracteres e não >> >> >> me>> >> >> informa >> >> >> de uma forma fácil de pegar =\ >> >> >> Então a pergunta é: alguém já fez alguma forma de bloquear >> >> >> totalmente >> >> >> a >> >> >> função Cut ou conseguiu pegar a seqüência de teclas Ctrl+X no >> >> >> evento >> >> >> KeyDown? >> >> >> -------------------------------------------------------------------------------- >> >> >> J.C.Ködel - Programador Microsoft.net/Adobe Flex >> >> >> TDS-Enterprise -http://www.tds-enterprise.com >> >> >> smime.p7s >> >> >> 6KExibirDownload >> >> > -->> >> > Você recebeu esta mensagem porque está inscrito na lista >> >> > "flexdev">> >> > Para enviar uma mensagem, envie um e-mail para >> >> > flexdev@googlegroups.com >> >> > Para sair da lista, envie um email em branco para >> >> > flexdev-unsubscr...@googlegroups.com >> >> > Mais opções estão disponíveis >> >> > emhttp://groups.google.com/group/flexdev >> >> smime.p7s >> >> 6KExibirDownload >> > -- >> > Você recebeu esta mensagem porque está inscrito na lista "flexdev">> > Para enviar uma mensagem, envie um e-mail para >> > flexdev@googlegroups.com>> > Para sair da lista, envie um email em branco para >> > flexdev-unsubscr...@googlegroups.com>> > Mais opções estão disponíveis >> > emhttp://groups.google.com/group/flexdev>> smime.p7s >> 6KExibirDownload > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > Para sair da lista, envie um email em branco para > flexdev-unsubscr...@googlegroups.com > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev smime.p7s 6KExibirDownload-- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.comPara sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev
smime.p7s
Description: S/MIME cryptographic signature