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 | ...
}" reste
activ??> 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>