comment faire pour positionner le focus dans la fin du text
comment faire pour positionner le focus dans la fin du text
Salut,
Tu peux utiliser ce code à mettre dans le OnEnter de ton TEdit :
J'espère que c'est ce que tu souhaites faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part Edit1.SelStart:=Edit1.SelLength;
Edit :
Je post tout de même le code pour que le TEdit prenne le focus lors du clic sur un bouton (dans ce cas):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm1.Button1Click(Sender: TObject); begin Edit1.SetFocus; end;
Mais quand on affecte quelque chose
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 procedure TForm1.Edit1Change(Sender: TObject); begin if (length(edit1.text)=2) then Edit1.Text:=Edit1.Text+'/'; Edit1.SelStart:=Edit1.SelLength; edit1.setfocus; end;
la :
Edit1.SelStart:=Edit1.SelLength;
edit1.setfocus;
cesse de fonctionner
Salut,
Pour ce que tu veux faire, il faut mieux faire ceci:
Tu ne peux pas utiliser SelLength dans ce contexte car SelLength renvoie le nombre de caractères surlignés. Pour pallier à cela, il faut que tu prennes Length(Edit1.text).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if (Length(Edit1.Text)=2) then begin Edit1.Text:=Edit1.Text+'/'; Edit1.SelStart:=length(Edit1.Text); end;
Après, si j'ai bien compris ton code servira à saisir une date ...
Le problème que tu vas rencontré, c'est si tu te trompes dans la saisie dans la date.
Si on se trompe, et que l'on souhaite modifié un nombre avant le /, on va dupliquer le slash ... je te laisse faire l'essaie.
Il faudra donc prévoir un peu plus de code pour mieux gérer tout celà![]()
Bon courage![]()
merci ero-sennin
ce code marche bien
et pour ne pas dupliqué le slash je songe à faire un bon contrôle a cela
Partager