VB KeyPress "global"?
Vigon
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je viens de réaliser un montage contrôlé par PIC Microship (microcontoleur) qui communique avec mon port USB. Pour piloter ce PIC, j'ai écrit un programme en visual basic qui fonctionne plutôt pas mal. Seulement voilà, j'aimerais pouvoir contrôler mon programme via une télécommande (X10). Je suis parvenu à le faire en utilisant un bouton de commande qui, une fois qu'il a le focus, couplé à l'évènement _KeyPress, me permet de faire ce que je veux.
J'aimerais pouvoir faire la même chose, mais sans cet artificiel bouton de commande qui requiert le focus. Une sorte d'évènement Formulaire_KeyPress. J'ai essayé, mais je n'y parviens pas.
J'avais essayé quelque chose du genre
Private Sub Form_KeyPress(KeyAscii as Integer)
End Sud
Mais on dirait que le formulaire n'a pas le "focus". Comment faire pour ce passer de cette contrainte et rendre l'évènement "KeyPress" global? Même mieux: est-il possible de le faire sans que la fenêtre du programme aie le focus?
D'avance, merci.
Je viens de réaliser un montage contrôlé par PIC Microship (microcontoleur) qui communique avec mon port USB. Pour piloter ce PIC, j'ai écrit un programme en visual basic qui fonctionne plutôt pas mal. Seulement voilà, j'aimerais pouvoir contrôler mon programme via une télécommande (X10). Je suis parvenu à le faire en utilisant un bouton de commande qui, une fois qu'il a le focus, couplé à l'évènement _KeyPress, me permet de faire ce que je veux.
J'aimerais pouvoir faire la même chose, mais sans cet artificiel bouton de commande qui requiert le focus. Une sorte d'évènement Formulaire_KeyPress. J'ai essayé, mais je n'y parviens pas.
J'avais essayé quelque chose du genre
Private Sub Form_KeyPress(KeyAscii as Integer)
End Sud
Mais on dirait que le formulaire n'a pas le "focus". Comment faire pour ce passer de cette contrainte et rendre l'évènement "KeyPress" global? Même mieux: est-il possible de le faire sans que la fenêtre du programme aie le focus?
D'avance, merci.
A voir également:
- VB KeyPress "global"?
- Global positioning system - Accueil - Transports & Cartes
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Vb editor - Télécharger - Langages
- Prelevement global mac ✓ - Forum Vos droits sur internet
6 réponses
Parfait! Il ne me reste plus qu'à comprendre comment faire en sorte qu'il me retourne la valeur de la touche enfoncée, et non un booléen vérifiant que telle touche est enfoncée. Vous me direz que je peux toujours faire un "for" de 0 à 255 mais... j'espère tout de même qu'il existe une solution plus élégante :).
Si quelqu'un a une idée, elle est la bienvenue ;).
Merci.
Vigon
Si quelqu'un a une idée, elle est la bienvenue ;).
Merci.
Vigon
Aïe... j'ai p-e parlé un peu trop vite. Mon but étant, lorsqu'une touche numérique est enfoncée de modifier le statut d'une checkbox, la voilà qui "vibre" au rythme du timer... ce qui n'est pas fort pratique. Décidément tout ça me parait bien compliqué.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai bien compris, et comme je l'ai dit, ça fonctionne... mais le problème est que je suis dès lors dépendant de la fréquence du time. Une touche enfoncée un peu trop longtemps fait osciller la checkbox, une touche enfoncée trop peu longtemps n'est pas "vue" à temps. Je me suis donné une fréquence de 500 millisecondes, ça marche assez bien. J'ai quand-même encore parfois des comportements un peu étranges, mais je pense m'en contenter au final.