salut
j'ai des composant(TEdit,et TMaskEdit,...) qui ce trouve dans 02 GroupBox . je veut qu'on appuyant sur la touche entre le curseur ce point sur un composant TEdit de l'autre GroupBox.
salut
j'ai des composant(TEdit,et TMaskEdit,...) qui ce trouve dans 02 GroupBox . je veut qu'on appuyant sur la touche entre le curseur ce point sur un composant TEdit de l'autre GroupBox.
Sur la toucher "Entrer" ?
Quel Point ?
Reformule ta question, ...
Salut,
Je pense que la question est celle ci :
J'ai des composants (TEdit,et TMaskEdit,...) qui ce trouvent dans 2 GroupBox . Je veut qu'en appuyant sur la touche entrer, le curseur se pointe/mette sur un composant TEdit de l'autre GroupBox.
A+
Alors je te conseille de consulter l'événement OnKeyDown et la méthode FindNextControl
ce code me permet de pointer le curseur sur des TEdit du même GroupBox ,mais si le composant TEdit et dans l'autre GroupBox sa ne marche pas.
est ce qu'il y a des modifications sur ce code ,pour que sa marche sur des composant TEdit d'un autre GroupBox?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if Key=#13 Then begin FindNextControl(ActiveControl, True, false, false).SetFocus; Key:=#0; end;
Re,
Quel est concrétement ton soucis? Si je comprends bien, tu as 2 groupbox qui contiennent des TEdits. A chaque appuies sur la touche Entrer dans un TEdit, on doit passer au TEdit suivant. Tu souhaites faire en sorte que lorsque l'on est dans le dernier TEdit du GroupBox1, que l'on passe dans le premier TEdit du groupBox2 en appuyant sur Entrer, c'est ça ?
Merci
@sjrd
La méthode FindNextControl de TWinControl n'est-elle pas une méthode protégée ?
@+
oui c'est exactement ce que je veut ero-sennin.
Re,
Pour faire simple, il te suffit de mettre une seule ligne de code dans le dernier TEdit dans l'événement OnKeyPress pour dire que l'on change de GroupBox (je reste sur l'idée de mon Post Précédent avec changement de GroupBox lorsque l'on appuie sur la touche Entrer du dernier TEdit du GroupBox1).
Il te suffit de mettre ceci pour le dernier TEdit du GroupBox1 :
J'espère que celà t'aidera.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin if Key=#13 Then begin // On Change de GroupBox... Form1.ActiveControl:=GroupBox2; // On prends le premier Control se trouvant dans le GroupBox FindNextControl(ActiveControl, True, false, false).SetFocus; Key:=#0; end; end;
A+
Il faut mettre les TabOrder dans l'ordre souhaité puis lancé simplement dans un OnKeyDown ceci :Pour les TabOrder, il faut mettre 0, 1, 2 ... pour chaque GroupBox, puis pour chaque bouton, mettre aussi 0, 1, 2 ... les index étant indépendant entre chaque container ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part PostMessage(Screen.ActiveForm.Handle, WM_NEXTDLGCTL, 0, 0);
merci ero-sennin s'a bien marche, et je vais essayer la solution de ShaiLeTroll pour voir aussi.
Partager