Gestion clavier - touche - comment capter les touches ... vb simplifié

Soyez le premier à donner votre avis sur cette source.

Snippet vu 14 174 fois - Téléchargée 33 fois

Contenu du snippet

tout petit script de base en vb, mais bon je démarre, et dans ma recherche d'infos sur la captation des touches du clavier, ben j'ai rien trouvé de simple (rapide à programmer) :
j'ai mis 3 jours à trouver ça, alors hein, on rigole pas :-))

Source / Exemple :


Dim touche As Integer

Public Sub form_KeyPress(KeyCode As Integer)    ' private ? : pas testé
    If touche = VK_ESCAPE Then
        End
    Else
        If touche = VK_ENTER Then
        MsgBox ("taper return")
    End If
    End If
End Sub

Private Sub Command1_Click()
    ' alors on continue ............
    msgbox "coucou return"
End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Form_Load()
    Form1.Caption = "ça sert à rien"
    Command1.Caption = "&Continuer"  ' alt + C marche donc
     Command2.Caption = "&Annuler"    ' alt + A marche donc
    Command1.Font.Bold = 10
    Command2.Font.Bold = 10
    SendKeyboardEvents = True   ' LE TRUC !!!!!!!!!!!!!!!
    
    touche = KeyCode
    
End Sub

Conclusion :


voila, y'a plus qu'à dessiner des zolis boutons (2) et essayer
c'est du lego

A voir également

Ajouter un commentaire

Commentaires

Messages postés
320
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
16 février 2009

GetKeyState est une API qui te permet de connaitre l'etat d'une touche du clavier, petit exemple :

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

If GetKeyState(VK_X) then msgbox "Touche X pressée"
Messages postés
201
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
10 mai 2016

ATCHOUM !!!

je vous demande pardons ???? *<:o(

(snif)
Messages postés
320
Date d'inscription
vendredi 21 février 2003
Statut
Membre
Dernière intervention
16 février 2009

Ou alors utiliser l'API GetKeyState ;)
Messages postés
201
Date d'inscription
mardi 7 octobre 2003
Statut
Membre
Dernière intervention
10 mai 2016

effectivement, j'avais pas pensé à ça,

sinon, mon pb était que la gestion des touches ne se chargeait pas avec la form (d'où le pb), donc je load "touche" avec le form en globale, sinon Keycode est toujours "empty"

sinon, yep c'est d'la bricole avec les moyens du bord :-))
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
21
Pour t'aider :

Sans bouton, tu pourrais résumer tout ton code par ceci :

Public Sub form_KeyPress(KeyCode As Integer)
Select Case KeyCode
Case vbKeyReturn:
MsgBox "Return"
Case vbKeyEscape:
MsgBox "Escape"
End Select

End Sub


Le passage par une variable 'touche' globale n'était pas très judicieux.

Bon courage pour la suite !

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.