Lokomass
Messages postés191Date d'inscriptionjeudi 7 janvier 2010StatutMembreDernière intervention15 mai 2013
-
18 déc. 2009 à 08:30
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
18 déc. 2009 à 10:02
Bonjour,
Dans ma fenetre VB nommée Enable, j'aimerai surveiller lorsque j'appuie sur entrée.
J'ai un textbox que je rempli, et apres je dois clicker sur un bouton ok pour valider.
Seulement j'aimerais ne pas avoir a cliquer, mais juste appuyer sur entrée pour appeler le bouton OK directement.
J'ai fait ce code :
Private Sub Enable_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call OK_Click
End If
End Sub
Mais je n'appelle pas ma fonction OK.
Quelque chose cloche, mais quoi ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 18 déc. 2009 à 08:41
Bonjour,
Nous avons déjà parlé souvent : même si ta Form à sa propriété KeyPreview à True, condition sine qua non de la gestion des "pressages" de touches : Si elle contient certains autres contrôles valides tels des boutons de commande, d'option, etc... la touche Enter sera interceptée prioritairement par Windows à leur bénéfice si l'un d'entre eux a le focus.
Il y a une solution de contournement (en donnant systématiquement le focus à une textbox après chaque autre action sur les autres contrôles), mais elle est cmlairement scabreuse.
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
Lokomass
Messages postés191Date d'inscriptionjeudi 7 janvier 2010StatutMembreDernière intervention15 mai 20131 18 déc. 2009 à 08:54
Merci de ton aide,
Ce qui veut dire que ce n'est pas possible appart la solution de contournement ?
Si j'utilise la deuxieme possiblité, qu'est ce que je risque et comment dois je faire ?
Tu seras ensuite seul à pouvoir déterminer quels sont les gênes et risques éventuels engendrés (en fonction de ce que TU connais et es seul à connaître de ton appli, de son ergonomie, etc...)
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
Vous n’avez pas trouvé la réponse que vous recherchez ?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 18 déc. 2009 à 10:02
- "la calculatrice de Windows est faite par ... Microsoft"
- "...la touche ENTER, elle est en effet interceptée prioritairement par Windows..."
Discours de café du commerce que tout cela.
On se fout absolument de qui est l'éditeur d'un prog puisqu'il est reproductible TRES simplement. Suffit de coder pour ce faire car je rappelle que la calculatrice comme tout autre vrai prog est faite en C et non pas en script sur une quelconque virtual machine telle que VB.
TOUTES les touches, pas seulement ENTER, sont interceptées par Windows puisque c'est LE role d'un OS de gérer les périphériques. Quand Windows reçoit un event sur la ligne d'interruptions clavier, il la translate en 'message' qu'il nous refile sur la pompe à message du prog de 1er plan à travers une structure MSG. Ensuite libre à chacun de traiter cela comme il l'entend dans son prog.
Il se trouve qu'en interprété, la pompe à messages est cachée au fond la VM et que vous n'y avez pas un accès direct, voila l'explication.