Pb pour intercepter la touche Tabulation [Résolu]

Messages postés
18
Date d'inscription
mardi 28 octobre 2003
Dernière intervention
15 juin 2006
- - Dernière réponse : PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
- 27 sept. 2005 à 11:41
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
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
3
Merci
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

Dire « Merci » 3

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

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

Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
0
Merci
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
Dernière intervention
15 juin 2006
0
Merci
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
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
0
Merci
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
Dernière intervention
7 juin 2009
0
Merci
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
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
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
Dernière intervention
15 juin 2006
0
Merci
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
Dernière intervention
15 juin 2006
0
Merci
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 ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.