Bonsoir Alex. J''ai un problème avec "evt_key_down() { | event | ... }". Je m''explique: Quand j''ouvre mon application, "evt_key_down() { | event | ... }" fonctionne correctement, mais à partir du moment que je fait un clique avec la souris sur TextCtrl par exemple, "evt_key_down() { | event | ... }" ce désactive et ne fonctionne plus. Que faut-il que je fasse pour que "evt_key_down() { | event | ... }" reste activé? merci. _______________________________________________ wxruby-users mailing list wxruby-users@rubyforge.org http://rubyforge.org/mailman/listinfo/wxruby-users
Bonjour S?bastien, Le probl?me que vous rencontrez, est d? au fait que evt_key_down () {| ?v?nement | ...} est li? ? l''instance que votre question lorsque vous l''invoquez. En d''autres termes, evt_key_down () est fix? en fonction de votre fen?tre / cadre, pas le TextCtrl. Le TextCtrl a son propre syst?me de touche de gestion, qui est contr?l?e en interne par la biblioth?que wxWidgets. Afin de saisir le texte entr? dans un TextCtrl, vous devez utiliser evt_text () {| ?v?nement | ...} afin de capturer le texte saisi dans un TextCtrl. Si vous voulez capturer des ?v?nements Tab ainsi, vous devrez ajouter le Wx:: drapeau TE_PROCESS_TAB ? la cr?ation de votre TextCtrl. M?me avec le traitement d''un retour, vous devez utiliser Wx:: TE_PROCESS_ENTER pour capturer le retour aussi.Mais pour le traitement de Wx:: TE_PROCESS_ENTER, vous devez utiliser la evt_text_enter () {| ?v?nement | ...} pour le processus. (( Hello Sebastian, The problem you are having, is due to the fact that evt_key_down() {|event| ...} is bound to the instance that your dealing with when you invoke it. In other words, evt_key_down() is being set on your Window / Frame, not the TextCtrl. The TextCtrl has it''s own Key Handling system, that is controlled internally by the wxWidgets library. In order to capture text entered in a TextCtrl, you need to use evt_text() {|event| ...} in order to capture text entered in a TextCtrl. If you want to capture Tab Events as well, you will need to add the Wx::TE_PROCESS_TAB flag to the creation of your TextCtrl. Same with processing a Return, you need to use Wx::TE_PROCESS_ENTER to capture the return as well. But for processing Wx::TE_PROCESS_ENTER, you need to use the evt_text_enter() {|event| ...} to process it. hth, Mario )) 2011/3/2 S?bastien <sebastien.bureaux at dbmail.com>> > Bonsoir Alex. > J''ai un probl?me avec "evt_key_down() { | event | ... }". > Je m''explique: > Quand j''ouvre mon application, "evt_key_down() { | event | ... }"fonctionne correctement, mais ? partir du moment que je fait un clique avec la souris sur TextCtrl par exemple, "evt_key_down() { | event | ... }" ce d?sactive et ne fonctionne plus.> Que faut-il que je fasse pour que "evt_key_down() { | event | ... }" resteactiv??> merci. > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users(( Good evening Alex. I have a problem with "evt_key_down () {| event | ...}". Let me explain: When I open my application, "evt_key_down () {| event | ...}" works fine, but from the time I made a mouse click on TextCtrl for example, "evt_key_down () {| event |. ..} "this off and no longer works. What should I do to that "evt_key_down () {| event | ...}" is enabled? thank you. )) -- Mario Steele Lieutenant Commander 3 XO - Geo 99 XO - STO IFT Fleet http://www.trekfederation.com http://geo99.ruby-im.net -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/wxruby-users/attachments/20110302/411a7a76/attachment.html>
Bonjour Mario Voici le code que j''utilise: evt_key_down :evenement_clavier ...... def CreationTexteCtrl ??? @calcul = TextCtrl.new(@l, -1, "", Point.new(10, 10), Size.new(397, 30), TE_RICH|TE_READONLY) ??? @calcul.set_font(Font.new(14, SWISS, NORMAL, BOLD)) ??? @calcul.set_size(@calcul.get_best_size) ?end ...... def evenement_clavier(event) ??? code_cle = event.get_key_code ??? case code_cle.to_i ??? when 324 ????? onChiffre0 ??? when 325 ????? onChiffre1 ??? when 326 ????? onChiffre2 ??? when 327 ????? onChiffre3 ??? when 328 ????? onChiffre4 ??? when 329 ????? onChiffre5 ??? when 330 ????? onChiffre6 ??? when 331 ????? onChiffre7 ??? when 332 ????? onChiffre8 ??? when 333 ????? onChiffre9 ??? when 391 ????? onPoint ??? when 392 ????? onDivi ??? when 387 ????? onMulti ??? when 390 ????? onMoins ??? when 388 ????? onPlus ??? when 370 ????? onEgal ??? when 13 ????? onEgal ? end ????? event.skip end def onChiffre0 ??? @calcul << 0 ? end end ...... J''ai essayer avec "TE_PROCESS_TAB" et "TE_PROCESS_ENTER": "@calcul = TextCtrl.new(@l, -1, "", Point.new(10, 10), Size.new(397, 30), TE_RICH|TE_READONLY|TE_PROCESS_TAB|TE_PROCESS_ENTER" mais j''ai toujours le m?me probl?me. Par contre je pr?cise que j''utilise "TE_READONLY" avec le "TextCtrl" En fait j''aimerais pouvoir r?cup?rer que certains caract?res grace ? l''aide de "evt_key_down() { | event | ... }" et de pouvoir les affich?es par la suite dans le TextCtrl. ----------------------------------------------------------------------------------------------------------------->Le probl?me que vous rencontrez, est d? au fait que evt_key_down () {| >?v?nement | ...} est li? ? l''instance que votre question lorsque vous >l''invoquez. En d''autres termes, evt_key_down () est fix? en fonction de >votre fen?tre / cadre, pas le TextCtrl. Le TextCtrl a son propre syst?me de >touche de gestion, qui est contr?l?e en interne par la biblioth?que >wxWidgets. Afin de saisir le texte entr? dans un TextCtrl, vous devez >utiliser evt_text () {| ?v?nement | ...} afin de capturer le texte saisi >dans un TextCtrl. Si vous voulez capturer des ?v?nements Tab ainsi, vous >devrez ajouter le Wx:: drapeau TE_PROCESS_TAB ? la cr?ation de votre >TextCtrl. M?me avec le traitement d''un retour, vous devez utiliser Wx:: >TE_PROCESS_ENTER pour capturer le retour aussi.Mais pour le traitement de >Wx:: TE_PROCESS_ENTER, vous devez utiliser la evt_text_enter () {| ?v?nement >| ...} pour le processus.-------------- section suivante -------------- Une pi?ce jointe HTML a ?t? nettoy?e... URL: <http://rubyforge.org/pipermail/wxruby-users/attachments/20110303/49dd372b/attachment-0001.html>