Interception des touches de fonction

Signaler
Messages postés
71
Date d'inscription
mardi 29 janvier 2002
Statut
Membre
Dernière intervention
6 janvier 2011
-
Messages postés
71
Date d'inscription
mardi 29 janvier 2002
Statut
Membre
Dernière intervention
6 janvier 2011
-
Dans un formulaire VB6 je voudrais intercepter l'appui sur une des touches
de fonction.
Pour tester j'ai écrit ceci :

Private Sub Form_KeyPress(KeyAscii As Integer)
MsgBox KeyAscii
End Sub

Cela marche pour toutes les touches sauf les touches de fonction !!!!!!!!!!

Quelqu'un sait-il comment faire ?

D'avance, merci.

4 réponses

Messages postés
436
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
2
Salut !

Essaye ça :

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyShift Then
MsgBox "toto"
End If
End Sub
'----
Ensuite tu met le curseur sur vbKeyShift et tu fais F1...
tu vas avoir toutes les constantes des touches de fonctions !

@+, VIC
Messages postés
71
Date d'inscription
mardi 29 janvier 2002
Statut
Membre
Dernière intervention
6 janvier 2011
1
Je te remercie mais j'avais déjà essayé.
Pour les touches de fonction les constantes sont vbKeyF + le numéro
J'ai écrit ceci :

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)

If KeyCode = vbKeyF2 Then
MsgBox "F2"
End If

End Sub

Et ça marche ... sauf si un contrôle de la feuille à le focus !!

Dois-je mettre l'appel à ma routine dans le KeyPress de chaque contrôle ?
Messages postés
436
Date d'inscription
dimanche 20 janvier 2002
Statut
Membre
Dernière intervention
2 février 2010
2
Okay ,
Tu as mis la propriété .Keypreview de ton Form sur TRUE ??
Autrement il faut le faire -;)

@+, VIC
Messages postés
71
Date d'inscription
mardi 29 janvier 2002
Statut
Membre
Dernière intervention
6 janvier 2011
1
He bien NON !!
Je ne connaissais pas.
Maintenant ça marche?
J'ai testé tous les cas de figure et c'est tout bon.

Merci beaucoup de ton aide.