KeyDown problème avec keyDown
Résolu
flamel
Messages postés
73
Date d'inscription
Statut
Membre
Dernière intervention
-
flamel Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
flamel Messages postés 73 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterais que lors d'une commande, le choix soit différent selon que la touche 'Control' est appuyée ou non.
Du genre de l'exemple simple suivant :
Private Sub Command1_Click()
If KeyDown = vbKeyControl Then
Text1.Text = "Control"
Else
Text1.Text = "Non Control"
End If
End Sub
Ca ne marche pas. Pourquoi ?
Merci pour votre aide.
Je souhaiterais que lors d'une commande, le choix soit différent selon que la touche 'Control' est appuyée ou non.
Du genre de l'exemple simple suivant :
Private Sub Command1_Click()
If KeyDown = vbKeyControl Then
Text1.Text = "Control"
Else
Text1.Text = "Non Control"
End If
End Sub
Ca ne marche pas. Pourquoi ?
Merci pour votre aide.
3 réponses
Salut Flamel,
Tu devrais jeter un oeil ici : https://codes-sources.commentcamarche.net/ (quelqu'un semble avoir les mêmes besoins que toi et il a l'air d'avoir trouvé ça tout "con").
Pour résumer et ajouter une note, je pense que l'événement d'appui et de relâchement de la touche CTRL doit se gérer au niveau des événements d'un composant. L'action sur cet événement communiquera l'état de la touche à une variable globale que tu pourras utiliser dans ta procédure Command1_Click() . Je ne pense pas qu'il y ait moyen de faire comme tu souhaites avec ta variable "KeyDown" (tu voulais sans doute utiliser l'événement qui porte le même nom), cette variable n'est pas alimentée automatiquement lors de l'appui sur une touche.
Je ne peux malheureusement t'en dire plus, le VB "poussé" c'est déjà "loin" pour moi mais tu as tous les éléments en main pour y parvenir. ^^ Par contre je peux te conseiller d'utiliser la directive
Bon courage !
Tu devrais jeter un oeil ici : https://codes-sources.commentcamarche.net/ (quelqu'un semble avoir les mêmes besoins que toi et il a l'air d'avoir trouvé ça tout "con").
Pour résumer et ajouter une note, je pense que l'événement d'appui et de relâchement de la touche CTRL doit se gérer au niveau des événements d'un composant. L'action sur cet événement communiquera l'état de la touche à une variable globale que tu pourras utiliser dans ta procédure Command1_Click() . Je ne pense pas qu'il y ait moyen de faire comme tu souhaites avec ta variable "KeyDown" (tu voulais sans doute utiliser l'événement qui porte le même nom), cette variable n'est pas alimentée automatiquement lors de l'appui sur une touche.
Je ne peux malheureusement t'en dire plus, le VB "poussé" c'est déjà "loin" pour moi mais tu as tous les éléments en main pour y parvenir. ^^ Par contre je peux te conseiller d'utiliser la directive
Option Explicitau début de chaque module de code, ça t'évitera d'utiliser des variables non déclarées.
Bon courage !