Pb pour intercepter la touche Tabulation [Résolu]

Signaler
Messages postés
18
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2006
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour,

Je travaille en VB6. J'ai un problème pour intercepter la touche Tabulation.
L'appui de cette touche ne déclenche aucun événement : ni keypress, ni keydown que ce soit au niveau de contrôle ou de la form.
Ce que je pourrais vous dire :
-Keypreview est false.
-La touche Enter est parfaitement interceptée
-Le contrôle concerné est un maskedbox, mais j'ai essayé sur un simple textbox et c'est idem.

Si quelqu'un a une idée, je prends
Merci à tous

8 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
salut,
tu peux mettre la propriété TabStop de tes contrôles (boutons, etc..) à False.
si bcp de contrôles, tu peux le faire dans une boucle. (For Each Ctrl in Me ......)
PCPT
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Salut,
Tu peux très bien intercepter la touche tabulation dans le keypress d'un controle.

if keyascii = 9 then
'pour ignorer
'keyascii = 0
'pour passer à un autre contrôle
'texttruc.setfocus
'etc ...
end if

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
18
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2006
1
Normalement je devrais passer par le keypress, mais mon problème c'est que justement je ne passe pas dans cet évènement et je ne sais pas pourquoi.
Une autre idée ?
Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
16
Je ne comprend pas non plus car, à partir du moment où tu saisis quelque chose, via le clavier, dans une textbox (ou un maskedit), tu passes forcément par le keypress de ces contrôles.
Il y a autre chose. Peut-être ton clavier qui est naze ? Pour d'autres applis, la touche fonctionne ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
5
Dixit MSDN :

Les événements KeyDown et KeyUp ne sont pas invoqués pour :



<li>la touche ENTRÉE si la feuille contient un contrôle CommandButton
dont la propriété Default a la valeur True ;


</li><li>la touche ÉCHAP si la feuille comprend un contrôle CommandButton dont
la propriété Cancel a la valeur True ;


</li><li>la touche TAB.</li>

A priori c'est pareil pr le keypress



Désolé
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
43
salut
VB6, testé, nikel...


Private Sub Form_Load()
Me.KeyPreview = True
End Sub
'
'
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 9 Then
KeyCode = 0
MsgBox "TAB"
Else
Debug.Print KeyCode
End If
End Sub


<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT
Messages postés
18
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2006
1
Bonjour,

Si je mets le même code dans form_keydown (ou le keypress), le messagebox ne s'affiche pas. Bon, mon code n'est pas aussi simple, mais tout de même je ne comprends pas. Je dois avoir quelque chose dans mon source...La touche Enter ou Echap fonctionne.
Messages postés
18
Date d'inscription
mardi 28 octobre 2003
Statut
Membre
Dernière intervention
15 juin 2006
1
Je viens de faire un test. J'ai écris un code aussi simple que "PCPT" et en effet ça fonctionne. Si on rajoute à la feuille un CommandButton, ça ne marche plus (Merci à "mrdep1978" de m'avoir mis sur la piste). Donc qu'est ce que peux faire pour intercepter cette touche sans enlever tous les commandButton que j'ai sur ma feuille ?¨Peut-être qu'il n'y a pas de solutions ?