Pb pour intercepter la touche Tabulation [Résolu]

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

Merci PCPT 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 120 internautes ce mois-ci

cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 26 sept. 2005 à 18:32
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 !?
isaomi 18 Messages postés mardi 28 octobre 2003Date d'inscription 15 juin 2006 Dernière intervention - 26 sept. 2005 à 18:45
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 ?
cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 26 sept. 2005 à 19:50
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 !?
mrdep1978 402 Messages postés jeudi 25 novembre 2004Date d'inscription 7 juin 2009 Dernière intervention - 26 sept. 2005 à 19:55
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é
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 26 sept. 2005 à 21:16
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
isaomi 18 Messages postés mardi 28 octobre 2003Date d'inscription 15 juin 2006 Dernière intervention - 27 sept. 2005 à 09:22
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.
isaomi 18 Messages postés mardi 28 octobre 2003Date d'inscription 15 juin 2006 Dernière intervention - 27 sept. 2005 à 09:35
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.