Intercepté une touche clavier

Le
batteoui
Bonjour;

je me demande comment je peux interceté une touche de clavier dans une
fenetre plein des bouton et des textbox. enffet je souhaite
intercepter la touche F1 pr que je puisse afficher l'aide de la
fenetre en cour.

Merci de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques93
Le #15379121
a écrit :
Bonjour;

je me demande comment je peux interceté une touche de clavier dans une
fenetre plein des bouton et des textbox. enffet je souhaite
intercepter la touche F1 pr que je puisse afficher l'aide de la
fenetre en cour.




Ceci, peut être :

Private Sub Form_Load()
Me.KeyPreview = True
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then
MsgBox "Aide"
KeyCode = 0
End If
End Sub



--
Cordialement,

Jacques.
batteoui
Le #15379091
> Ceci, peut être :

Private Sub Form_Load()
Me.KeyPreview = True
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then
MsgBox "Aide"
KeyCode = 0
End If
End Sub

--
Cordialement,

Jacques.




Merci Jacques,

le code fonctionne parfaitement, souf dans le cas ou le controle
ComboBox prend le focus.

Cordialement.
Gloops
Le #15379081
Jacques93 a écrit, le 14/12/2007 19:35 :
a écrit :
intercepter la touche F1 pr que je puisse afficher l'aide de la


Ceci, peut être :

Private Sub Form_Load()
Me.KeyPreview = True
End Sub

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




Salut Jacques,

Bon, d'accord, mais t'arrêtes-tu là délibérément ?

Si le principal moyen d'implémenter une aide est de passer par
Form_KeyDown, alors à quoi servent la propriété HelpContextId du
formulaire comme de chaque contrôle y compris Combobox, et la proprié té
HelpFile de l'application ? Sans parler de WhatsThisHelpId.

Admettons que dans certains cas particuliers on veut ouvrir une
application qui n'est pas faite pour ça mais qui va apporter les
renseignements voulus à l'utilisateur, OK, ça peut marcher, mais pass er
sous silence que VB a tout ce qu'il faut pour remplir cet office,
honnêtement, je ne vois pas pourquoi.

Form_KeyDown, c'est pour quand on n'y arrive pas autrement.
Jacques93
Le #15379051
Bonjour ,
a écrit :
Ceci, peut être :

Private Sub Form_Load()
Me.KeyPreview = True
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyF1 Then
MsgBox "Aide"
KeyCode = 0
End If
End Sub

--
Cordialement,

Jacques.




Merci Jacques,

le code fonctionne parfaitement, souf dans le cas ou le controle
ComboBox prend le focus.




Peux tu donner des détails, je n'ai pas ce comportement.
Que ce soit un PictureBox, TextBox, CommandButton, CheckBox,
OptionButton, Combobox, ListBox, etc ...ça fonctionne.

NB : il faut mettre ce code dans chaque feuille.

--
Cordialement,

Jacques.
Jacques93
Le #15379041
Bonjour Gloops,
Gloops a écrit :
Jacques93 a écrit, le 14/12/2007 19:35 :
a écrit :
intercepter la touche F1 pr que je puisse afficher l'aide de la


Ceci, peut être :

Private Sub Form_Load()
Me.KeyPreview = True
End Sub

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




Salut Jacques,

Bon, d'accord, mais t'arrêtes-tu là délibérément ?

Si le principal moyen d'implémenter une aide est de passer par
Form_KeyDown, alors à quoi servent la propriété HelpContextId du
formulaire comme de chaque contrôle y compris Combobox, et la propriété
HelpFile de l'application ? Sans parler de WhatsThisHelpId.

Admettons que dans certains cas particuliers on veut ouvrir une
application qui n'est pas faite pour ça mais qui va apporter les
renseignements voulus à l'utilisateur, OK, ça peut marcher, mais passer
sous silence que VB a tout ce qu'il faut pour remplir cet office,
honnêtement, je ne vois pas pourquoi.

Form_KeyDown, c'est pour quand on n'y arrive pas autrement.



C'est vrai que j'ai répondu sans penser au système d'aide intégré à VB.
Et pour cause, je ne m'en sers plus depuis des années, les .hlp ayant
été remplacé par les .chm. Et si on peut toujours lire les .hlp sous XP,
ce n'est plus le cas pour Vista de base, cela nécessite une installation
additionnelle (Winhlp32.exe ne ne répondant plus aux normes de Microsoft) :


--
Cordialement,

Jacques.
Publicité
Poster une réponse
Anonyme