j'ai un questionnaire avec plusieurs txtBox, je voudrais
que le curseur se place dans la premiere et ensuite apres
chaque Enter qu'il se place dans la suivante.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ng
Salut, Si tu utilises un groupe de controle :
Private Sub MesText_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = vbKeyReturn Then '13 If Index < MesText.Count - 1 Then Call MesText(Index + 1).SetFocus Else Call MesText(0).SetFocus End If KeyAscii = 0 'vide le buffer de touche End If End Sub
Sinon tu peux utiliser ce code (mais la première méthode est néttement meilleur) :
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call SendKeys("{TAB}", True) KeyAscii = 0 End If End Sub
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
JCM wrote:
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais que le curseur se place dans la premiere et ensuite apres chaque Enter qu'il se place dans la suivante.
Comment fait-on ?
Cordialement JCM
Salut,
Si tu utilises un groupe de controle :
Private Sub MesText_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then '13
If Index < MesText.Count - 1 Then
Call MesText(Index + 1).SetFocus
Else
Call MesText(0).SetFocus
End If
KeyAscii = 0 'vide le buffer de touche
End If
End Sub
Sinon tu peux utiliser ce code (mais la première méthode est néttement
meilleur) :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Call SendKeys("{TAB}", True)
KeyAscii = 0
End If
End Sub
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
JCM wrote:
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais
que le curseur se place dans la premiere et ensuite apres
chaque Enter qu'il se place dans la suivante.
Private Sub MesText_KeyPress(Index As Integer, KeyAscii As Integer) If KeyAscii = vbKeyReturn Then '13 If Index < MesText.Count - 1 Then Call MesText(Index + 1).SetFocus Else Call MesText(0).SetFocus End If KeyAscii = 0 'vide le buffer de touche End If End Sub
Sinon tu peux utiliser ce code (mais la première méthode est néttement meilleur) :
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then Call SendKeys("{TAB}", True) KeyAscii = 0 End If End Sub
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
JCM wrote:
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais que le curseur se place dans la premiere et ensuite apres chaque Enter qu'il se place dans la suivante.
Comment fait-on ?
Cordialement JCM
surfeur75
Bonjour,
Faut capter le clavier, et si <return> = textX.Setfocus, d'ailleurs on devrait toujours faire ça, ça laisse le choix à l'utilisateur, soit il change de champ en faisant return, ou Tab, ou avec la souris, ceux qui saisissent vite préfèrent rester au clavier et terminer par un <rc>...
Tu mets une procédure d'évènement de clavier ainsi:
Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) if keycode = 13 then TextX+1.setfocus End Sub -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"JCM" a écrit dans le message de news: 2e9e01c3e1c5$2c3825f0$
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais que le curseur se place dans la premiere et ensuite apres chaque Enter qu'il se place dans la suivante.
Comment fait-on ?
Cordialement JCM
Bonjour,
Faut capter le clavier, et si <return> = textX.Setfocus, d'ailleurs on
devrait toujours faire ça, ça laisse le choix à l'utilisateur, soit il
change de champ en faisant return, ou Tab, ou avec la souris, ceux qui
saisissent vite préfèrent rester au clavier et terminer par un <rc>...
Tu mets une procédure d'évènement de clavier ainsi:
Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
if keycode = 13 then TextX+1.setfocus
End Sub
--
@+, bye, Joe.
Pour m'écrire ng75AROBASEnoosPOINTfr
remplace AROBASE et POINT par leur vrai signe
Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"JCM" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de news:
2e9e01c3e1c5$2c3825f0$a001280a@phx.gbl...
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais
que le curseur se place dans la premiere et ensuite apres
chaque Enter qu'il se place dans la suivante.
Faut capter le clavier, et si <return> = textX.Setfocus, d'ailleurs on devrait toujours faire ça, ça laisse le choix à l'utilisateur, soit il change de champ en faisant return, ou Tab, ou avec la souris, ceux qui saisissent vite préfèrent rester au clavier et terminer par un <rc>...
Tu mets une procédure d'évènement de clavier ainsi:
Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) if keycode = 13 then TextX+1.setfocus End Sub -- @+, bye, Joe. Pour m'écrire ng75AROBASEnoosPOINTfr remplace AROBASE et POINT par leur vrai signe Il l'a fait car il ne savait pas que c'était impossible, alea jacta est!
"JCM" a écrit dans le message de news: 2e9e01c3e1c5$2c3825f0$
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais que le curseur se place dans la premiere et ensuite apres chaque Enter qu'il se place dans la suivante.
Comment fait-on ?
Cordialement JCM
Zoury
Salut Jean-Claude! :O)
Le standard sur les systèmes Windows veut que ce soit la touche TAB et Shift-TAB qui permettent la navigation entre les différents contrôles d'un formulaire.. je te conseilles donc de ne *pas* modifier cette aspect.. si tes utilisateurs chialent, expliquent leur.. ;O)
Maintenant pour ce qui est de placer correctement l'ordre de la "tabulation", tu dois utiliser la propriété TabIndex des contrôles... Le plus facile est d'utiliser l'indispensable utilitaire MzTools (www.mztools.com) qui offre une fonctionnalité de tabulation automatique. Cette dernière donne des résultats plus que satisfaisant et même sur les formulaires complexes... Si tu veux toutefois le faire manuellement, le plus facile et de se placer sur le dernier contrôle, de lui affecté la valeur 0 à TabIndex, ensuite tu cliques sur l'avant dernier, tu pèse sur 0 (car la propriété TabIndex reste sélectionnée par défaut), et ansi de suite..
note que si tu veux qu'un contrôle soit omit de la tabulation, tu peux placer sa propriété TabStop (s'il en a une) à False.
Merci de poster les réponses au groupe afin d'en faire profiter à tous
Salut Jean-Claude! :O)
Le standard sur les systèmes Windows veut que ce soit la touche TAB et
Shift-TAB qui permettent la navigation entre les différents contrôles d'un
formulaire.. je te conseilles donc de ne *pas* modifier cette aspect.. si
tes utilisateurs chialent, expliquent leur.. ;O)
Maintenant pour ce qui est de placer correctement l'ordre de la
"tabulation", tu dois utiliser la propriété TabIndex des contrôles... Le
plus facile est d'utiliser l'indispensable utilitaire MzTools
(www.mztools.com) qui offre une fonctionnalité de tabulation automatique.
Cette dernière donne des résultats plus que satisfaisant et même sur les
formulaires complexes... Si tu veux toutefois le faire manuellement, le plus
facile et de se placer sur le dernier contrôle, de lui affecté la valeur 0 à
TabIndex, ensuite tu cliques sur l'avant dernier, tu pèse sur 0 (car la
propriété TabIndex reste sélectionnée par défaut), et ansi de suite..
note que si tu veux qu'un contrôle soit omit de la tabulation, tu peux
placer sa propriété TabStop (s'il en a une) à False.
Le standard sur les systèmes Windows veut que ce soit la touche TAB et Shift-TAB qui permettent la navigation entre les différents contrôles d'un formulaire.. je te conseilles donc de ne *pas* modifier cette aspect.. si tes utilisateurs chialent, expliquent leur.. ;O)
Maintenant pour ce qui est de placer correctement l'ordre de la "tabulation", tu dois utiliser la propriété TabIndex des contrôles... Le plus facile est d'utiliser l'indispensable utilitaire MzTools (www.mztools.com) qui offre une fonctionnalité de tabulation automatique. Cette dernière donne des résultats plus que satisfaisant et même sur les formulaires complexes... Si tu veux toutefois le faire manuellement, le plus facile et de se placer sur le dernier contrôle, de lui affecté la valeur 0 à TabIndex, ensuite tu cliques sur l'avant dernier, tu pèse sur 0 (car la propriété TabIndex reste sélectionnée par défaut), et ansi de suite..
note que si tu veux qu'un contrôle soit omit de la tabulation, tu peux placer sa propriété TabStop (s'il en a une) à False.
Merci de poster les réponses au groupe afin d'en faire profiter à tous
ng
Sinon pour que le curseur se place directement dans le premier textbox, mets ca propriété TabIndex à 0, de plus le code (seuxième méthode) que j'ai posté respecte les TabIndnex, il faudra donc veiller à bien les définir dans l'ordre.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
JCM wrote:
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais que le curseur se place dans la premiere et ensuite apres chaque Enter qu'il se place dans la suivante.
Comment fait-on ?
Cordialement JCM
Sinon pour que le curseur se place directement dans le premier textbox, mets
ca propriété TabIndex à 0, de plus le code (seuxième méthode) que j'ai posté
respecte les TabIndnex, il faudra donc veiller à bien les définir dans
l'ordre.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
JCM wrote:
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais
que le curseur se place dans la premiere et ensuite apres
chaque Enter qu'il se place dans la suivante.
Sinon pour que le curseur se place directement dans le premier textbox, mets ca propriété TabIndex à 0, de plus le code (seuxième méthode) que j'ai posté respecte les TabIndnex, il faudra donc veiller à bien les définir dans l'ordre.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
JCM wrote:
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais que le curseur se place dans la premiere et ensuite apres chaque Enter qu'il se place dans la suivante.
Comment fait-on ?
Cordialement JCM
François Picalausa
Bonjour/soir,
l'article suivant de la KB décrit une méthode possible: http://support.microsoft.com/?id2816
<quote src="http://support.microsoft.com/?id2816"> However, using the ENTER key to move the focus does not follow recommended Microsoft Windows-based application design guidelines. The ENTER key should be used to process the default command or to process entered information, not to move the focus. </quote>
"JCM" a écrit dans le message de news:2e9e01c3e1c5$2c3825f0$
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais que le curseur se place dans la premiere et ensuite apres chaque Enter qu'il se place dans la suivante.
Comment fait-on ?
Cordialement JCM
Bonjour/soir,
l'article suivant de la KB décrit une méthode possible:
http://support.microsoft.com/?id2816
<quote src="http://support.microsoft.com/?id2816">
However, using the ENTER key to move the focus does not follow recommended
Microsoft Windows-based application design guidelines. The ENTER key should
be used to process the default command or to process entered information,
not to move the focus.
</quote>
"JCM" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news:2e9e01c3e1c5$2c3825f0$a001280a@phx.gbl
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais
que le curseur se place dans la premiere et ensuite apres
chaque Enter qu'il se place dans la suivante.
l'article suivant de la KB décrit une méthode possible: http://support.microsoft.com/?id2816
<quote src="http://support.microsoft.com/?id2816"> However, using the ENTER key to move the focus does not follow recommended Microsoft Windows-based application design guidelines. The ENTER key should be used to process the default command or to process entered information, not to move the focus. </quote>
"JCM" a écrit dans le message de news:2e9e01c3e1c5$2c3825f0$
Bonjour
j'ai un questionnaire avec plusieurs txtBox, je voudrais que le curseur se place dans la premiere et ensuite apres chaque Enter qu'il se place dans la suivante.
Comment fait-on ?
Cordialement JCM
ng
>Le standard sur les systèmes Windows veut que ce soit la touche TAB et Shift-TAB qui permettent la navigation entre les différents contrôles d'un formulaire.. je te conseilles donc de ne pas modifier cette aspect.. si tes utilisateurs chialent, expliquent leur.. ;O)
Certes mais dans un formulaire de saisie, il peut s'avèrer pratique d'utiliser la touche Enter pour passer au suivant, de plus cela ne désactive pas la touche TAB donc chaque utilisateur fera comme il veut.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Zoury wrote:
Salut Jean-Claude! :O)
Le standard sur les systèmes Windows veut que ce soit la touche TAB et Shift-TAB qui permettent la navigation entre les différents contrôles d'un formulaire.. je te conseilles donc de ne *pas* modifier cette aspect.. si tes utilisateurs chialent, expliquent leur.. ;O)
Maintenant pour ce qui est de placer correctement l'ordre de la "tabulation", tu dois utiliser la propriété TabIndex des contrôles... Le plus facile est d'utiliser l'indispensable utilitaire MzTools (www.mztools.com) qui offre une fonctionnalité de tabulation automatique. Cette dernière donne des résultats plus que satisfaisant et même sur les formulaires complexes... Si tu veux toutefois le faire manuellement, le plus facile et de se placer sur le dernier contrôle, de lui affecté la valeur 0 à TabIndex, ensuite tu cliques sur l'avant dernier, tu pèse sur 0 (car la propriété TabIndex reste sélectionnée par défaut), et ansi de suite..
note que si tu veux qu'un contrôle soit omit de la tabulation, tu peux placer sa propriété TabStop (s'il en a une) à False.
>Le standard sur les systèmes Windows veut que ce soit la touche TAB et
Shift-TAB qui permettent la navigation entre les différents contrôles d'un
formulaire.. je te conseilles donc de ne pas modifier cette aspect.. si
tes utilisateurs chialent, expliquent leur.. ;O)
Certes mais dans un formulaire de saisie, il peut s'avèrer pratique
d'utiliser la touche Enter pour passer au suivant, de plus cela ne désactive
pas la touche TAB donc chaque utilisateur fera comme il veut.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Zoury wrote:
Salut Jean-Claude! :O)
Le standard sur les systèmes Windows veut que ce soit la touche TAB et
Shift-TAB qui permettent la navigation entre les différents contrôles
d'un formulaire.. je te conseilles donc de ne *pas* modifier cette
aspect.. si tes utilisateurs chialent, expliquent leur.. ;O)
Maintenant pour ce qui est de placer correctement l'ordre de la
"tabulation", tu dois utiliser la propriété TabIndex des contrôles...
Le plus facile est d'utiliser l'indispensable utilitaire MzTools
(www.mztools.com) qui offre une fonctionnalité de tabulation
automatique. Cette dernière donne des résultats plus que satisfaisant
et même sur les formulaires complexes... Si tu veux toutefois le
faire manuellement, le plus facile et de se placer sur le dernier
contrôle, de lui affecté la valeur 0 à TabIndex, ensuite tu cliques
sur l'avant dernier, tu pèse sur 0 (car la propriété TabIndex reste
sélectionnée par défaut), et ansi de suite..
note que si tu veux qu'un contrôle soit omit de la tabulation, tu peux
placer sa propriété TabStop (s'il en a une) à False.
>Le standard sur les systèmes Windows veut que ce soit la touche TAB et Shift-TAB qui permettent la navigation entre les différents contrôles d'un formulaire.. je te conseilles donc de ne pas modifier cette aspect.. si tes utilisateurs chialent, expliquent leur.. ;O)
Certes mais dans un formulaire de saisie, il peut s'avèrer pratique d'utiliser la touche Enter pour passer au suivant, de plus cela ne désactive pas la touche TAB donc chaque utilisateur fera comme il veut.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Zoury wrote:
Salut Jean-Claude! :O)
Le standard sur les systèmes Windows veut que ce soit la touche TAB et Shift-TAB qui permettent la navigation entre les différents contrôles d'un formulaire.. je te conseilles donc de ne *pas* modifier cette aspect.. si tes utilisateurs chialent, expliquent leur.. ;O)
Maintenant pour ce qui est de placer correctement l'ordre de la "tabulation", tu dois utiliser la propriété TabIndex des contrôles... Le plus facile est d'utiliser l'indispensable utilitaire MzTools (www.mztools.com) qui offre une fonctionnalité de tabulation automatique. Cette dernière donne des résultats plus que satisfaisant et même sur les formulaires complexes... Si tu veux toutefois le faire manuellement, le plus facile et de se placer sur le dernier contrôle, de lui affecté la valeur 0 à TabIndex, ensuite tu cliques sur l'avant dernier, tu pèse sur 0 (car la propriété TabIndex reste sélectionnée par défaut), et ansi de suite..
note que si tu veux qu'un contrôle soit omit de la tabulation, tu peux placer sa propriété TabStop (s'il en a une) à False.
Zoury
> Certes mais dans un formulaire de saisie, il peut s'avèrer pratique d'utiliser la touche Enter pour passer au suivant, de plus cela ne
désactive
pas la touche TAB donc chaque utilisateur fera comme il veut.
c'est un point de vue... mais personnelement, j'adère fortement au <quote> présenté par François de la MSDN.. quand j'appuie sur Enter je *m'attend* à ce qu'une action soit lancé..
Merci de poster les réponses au groupe afin d'en faire profiter à tous
> Certes mais dans un formulaire de saisie, il peut s'avèrer pratique
d'utiliser la touche Enter pour passer au suivant, de plus cela ne
désactive
pas la touche TAB donc chaque utilisateur fera comme il veut.
c'est un point de vue... mais personnelement, j'adère fortement au <quote>
présenté par François de la MSDN.. quand j'appuie sur Enter je *m'attend* à
ce qu'une action soit lancé..
> Certes mais dans un formulaire de saisie, il peut s'avèrer pratique d'utiliser la touche Enter pour passer au suivant, de plus cela ne
désactive
pas la touche TAB donc chaque utilisateur fera comme il veut.
c'est un point de vue... mais personnelement, j'adère fortement au <quote> présenté par François de la MSDN.. quand j'appuie sur Enter je *m'attend* à ce qu'une action soit lancé..
Merci de poster les réponses au groupe afin d'en faire profiter à tous
ng
Moi aussi mais je ne parlais pas pour moi... (on prend vite l'habitude dans les formulaires web), le mieux, je pense, serait de proposer ce choix dans les options du programme, en mettant Tab par défaut.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Zoury wrote:
Certes mais dans un formulaire de saisie, il peut s'avèrer pratique d'utiliser la touche Enter pour passer au suivant, de plus cela ne désactive pas la touche TAB donc chaque utilisateur fera comme il veut.
c'est un point de vue... mais personnelement, j'adère fortement au <quote> présenté par François de la MSDN.. quand j'appuie sur Enter je *m'attend* à ce qu'une action soit lancé..
Moi aussi mais je ne parlais pas pour moi... (on prend vite l'habitude dans
les formulaires web), le mieux, je pense, serait de proposer ce choix dans
les options du programme, en mettant Tab par défaut.
--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Zoury wrote:
Certes mais dans un formulaire de saisie, il peut s'avèrer pratique
d'utiliser la touche Enter pour passer au suivant, de plus cela ne
désactive pas la touche TAB donc chaque utilisateur fera comme il
veut.
c'est un point de vue... mais personnelement, j'adère fortement au
<quote> présenté par François de la MSDN.. quand j'appuie sur Enter
je *m'attend* à ce qu'une action soit lancé..
Moi aussi mais je ne parlais pas pour moi... (on prend vite l'habitude dans les formulaires web), le mieux, je pense, serait de proposer ce choix dans les options du programme, en mettant Tab par défaut.
-- Nicolas G. FAQ VB : http://faq.vb.free.fr API Guide : http://www.allapi.net Google Groups : http://groups.google.fr/ MZ-Tools : http://www.mztools.com/
Zoury wrote:
Certes mais dans un formulaire de saisie, il peut s'avèrer pratique d'utiliser la touche Enter pour passer au suivant, de plus cela ne désactive pas la touche TAB donc chaque utilisateur fera comme il veut.
c'est un point de vue... mais personnelement, j'adère fortement au <quote> présenté par François de la MSDN.. quand j'appuie sur Enter je *m'attend* à ce qu'une action soit lancé..
JCM
Merci à tous
pour ce débat riche d'enseignement
Cordialement JCM
-----Message d'origine----- Bonjour/soir,
l'article suivant de la KB décrit une méthode possible: http://support.microsoft.com/?id2816
<quote src="http://support.microsoft.com/?id2816"> However, using the ENTER key to move the focus does not
follow recommended
Microsoft Windows-based application design guidelines.
The ENTER key should
be used to process the default command or to process