Recuperer les touches ALT, souri (gauche, droit, central et roulette)

cs_gere Messages postés 12 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 23 mai 2006 - 2 juil. 2005 à 19:37
cs_gere Messages postés 12 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 23 mai 2006 - 2 juil. 2005 à 20:45
Salut, comme le dit le titre, je voudrais pouvoir récuperer les touches du clavier.
C'est pour la configuration d'un jeu, donc il y a plusieurs text box (locked) et on doit cliquer sur celle que l'on veux et presser une touche.

Ca marche pour toutes les touches sauf ALT, Clic gauche, droit, central, autres (souri a 8 boutons) ainsi que "roulette haut" et "roulette bas"

<HR>


<HR>

je ne sait pas trop ce que c'est que les timer mais j'ai vu que ca ne fonctionne pas pour mon cas puisqu'il faut que l'evenement s'applique a une text box precise. Ou peut etre il y a un moyen mais j'ai pas trouvé.

Merci de votre aide.

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 juil. 2005 à 19:43
Passe par les fonctions de l'API Windows : GetKeyState par exemple te
retourne l'état des touches du clavier et de la souris lorsque tu
l'appelle.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0
cs_gere Messages postés 12 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 23 mai 2006
2 juil. 2005 à 19:47
Voila le code que j'utilise:

Private Sub forward_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyA Then
forward.Text = "A"
End If
If KeyCode = vbKeyControl Then
forward.Text = "CTRL"
End If
If KeyCode = vbKeyCapital Then
forward.Text = "CAPSLOCK"
End If
If KeyCode = vbKeyPause Then
forward.Text = "PAUSE"
End If
If KeyCode = vbKeyEscape Then
forward.Text = "ESCAPE"
End If
[...]
End Sub
0
cs_gere Messages postés 12 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 23 mai 2006
2 juil. 2005 à 19:51
comment je fais?

j'pense qu'il y a deja ca a mettre:

Private Declare Function GetKeyState Lib "user32" Alias "GetKeyState" (ByVal nVirtKey As Long) As Integer





mais après?
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
2 juil. 2005 à 20:01
Tout à fait.



En fait, il faut spécifier à la fonction les constantes des touches
virtuelles que tu veux récupèrer (voir mon viewer d'api) et elle te
renvoie l'état de la touche en question.



Remarque, ta méthode doit fonctionner si tu active la propriété KeyPreview de ta form.

DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_gere Messages postés 12 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 23 mai 2006
2 juil. 2005 à 20:45
Ben je vois pas la difference avec ou sans le key preview, j'ai trouvé pour la touche ALT (je savais pas que ALT=Menu)

If KeyCode = vbKeyMenu Then
forward.Text = "ALT"
End If

mais je reste bloqué pour les clics et la roulette. Et pour l'API, je débute et j'y comprend vraiment rien.

Et il y a un truc bisarre: ALT Gr réagi comme la touche CTRL. Comme si c'était la meme touche. (mais ca c'est moins grave)
0
Rejoignez-nous