Comment detecte le CTRL + ENTER dsune form sans le mettre partou? [VB] - VB/VBA/VBS - Programmation
Marsh Posté le 15-05-2002 à 10:27:35
Peut-être je radote, mais c'est généralement l'objet qui a le focus qui reçoit la commande. Le Keydown est reçu par cet objet.
Y a peut-être moyen d'intercepter les messages (hook en C) avant leur distribution, mais en VB, pas certain (mais ça évolue ...).
Marsh Posté le 15-05-2002 à 10:34:11
oui je sais ke c est l objet ki a le focus ki recoit lza commande et justement je veux pas me taper tous les keydowns de tous les objets pour rajouter le code pour appeller le bouton (pas propre) d ou je cherche ke sur toute la forme = conteneur de tous les autres objets le CTRL + ENTER soit interpreter de la meme maniere ...
Marsh Posté le 15-05-2002 à 10:39:04
ds les propriétés de ta form tu as une option keypreview
je me demande si c pas pour dire ke ts les evenements Kboard sont envoyé d'abord a la feuille ou d'abord au controle, aukel cas tu le param pour d'abord la feuille et tu gere l'evenemetn sur un evenemtn form...
Marsh Posté le 15-05-2002 à 10:49:31
KeyPreview permet d'intercepter les messages avant qu'ils n'arrivent au controle (comme PreTranslateMessage en MFC).
Ca peut être adapté à ce cas.
Private Sub Form_Load ()
KeyPreview = True
End Sub
Private Sub Form_KeyDown (KeyCode As Integer, Shift As Integer)
' traitement à effectuer en fonction de KeyCode et Shift (ctrl et enter)
End Sub
Marsh Posté le 15-05-2002 à 10:56:57
c bien ce kil me smeblait
merci
Marsh Posté le 15-05-2002 à 17:03:08
Marsh Posté le 15-05-2002 à 10:20:51
ben voila j ai une form compose de textboxs , et autres
je veux ke sur l'action control + entree ca me valide ma form comme un peu un mail sous outlook, (le entree simple ne suffit pas)
mais je ne veux pas me coltinner tous les keydown de tous les controls ...
QQujn peux m aider ?
merci