pjouy
Messages postés110Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention18 mai 2009
-
19 nov. 2005 à 00:06
OneHacker
Messages postés1447Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention23 septembre 2007
-
20 nov. 2005 à 18:05
Bonjour,
Je suis sous VB2005, mais peut-être que mon problème s'étend au 2003 ou encore au VB6...
Mon problème est le suivant : je souhaite, dans un Textbox, faire en sorte que, quand on appuie sur Ctrl+Entrée, celà fasse une action, exactement comme sous Internet Explorer qui rajoute http://www.lesite.com à la barre d'adresse. Le problème, c'est que quand je fais cela, il m'active la barre des menus (comme si on appuyant sur Alt) au lieu d'exécuter le code que je veux.
Par contre, si je fais Alt+Entrée, ça marche, mais il m'active toujours la barre des menus...
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 19 nov. 2005 à 01:09
salut,
exemple VB6 fonctionnel
...
Option Explicit
'
'
Private Sub Form_Load()
Text1.Text = ""
End Sub
'
'
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) If (KeyCode 13) And (Shift 2) Then
' annule l'écriture
KeyCode = 0
' execute l'action
MsgBox "Ctrl + Enter"
End If
End Sub
pjouy
Messages postés110Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention18 mai 2009 19 nov. 2005 à 09:09
Merci pcpt, ça avance un peu : il ne me met plus le Alt pour activer la barre des menus maintenant et exécute le code. Le problème, c'est que je suis arrivé à faire ce que je voulais avec la touche Alt et non pas avec la touche Control (toujours le même problème). Celà doit être dû au .Net je pense.
Une idée ?
pjouy
Messages postés110Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention18 mai 2009 19 nov. 2005 à 22:59
OneHacker : c'était le code que j'avais logiquement mis au départ, et c'est vrai que sans barre de menu, il marche. Le problème, c'est que j'ai une barre de menu (Fichier, Edition, Affichage, etc...), et lorsque j'active la combinaison Ctrl + Entrée à partir de mon Textbox, ça active la première sélection de la barre des Menus, à savoir "Fichier", un peu comme si on avait appuyé sur la touche Alt pour accéder au menu par le clavier. D'où en fait ma question de départ...
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 20 nov. 2005 à 15:15
salut,
j'pense à çà comme çà......
(mais .net, je sais pas...) tu as un KeyPreview sur la Form?
genre de repérer uniquement Ctrl, donnant alors le focus sur ta TxtBox...
ou AccesKey, je sais pas...... de manière à ce que si Ctrl, le menu ne se "Alt" pas.
pjouy
Messages postés110Date d'inscriptionmardi 8 juillet 2003StatutMembreDernière intervention18 mai 2009 20 nov. 2005 à 17:53
Il y a effectivement un KeyPreview, par défaut il est sur False, mais j'ai aussi essayé avec True, j'ai toujours le même problème.
J'ai aussi essayé de changer le e.Control en e.KeyValue = 17, toujours pareil.
Par contre, si je met en Enabled = False ma barre de menus, tout fonctionne parfaitement.
Sacré casse-tête... ou serait-ce un bug dans VB 2005 (comme d'ailleurs celui de ne pas prendre en compte les images avant d'avoir créé l'EXE) ?