![]() |
Editfeld - Cursor ans Ende setzen oder ausblenden
Hey,
ich habe diese Frage schon als Post in meinem letzten Thread geschrieben, aber keine hilfreiche Antwort bekommen, deshalb mach ich mal einen neuen Thread auf der sich nur diesem Problem widmet. Ich habe einen Button, der nach jedem Klick einen String an Edit schickt. Das funktioniert auch wunderbar und er setzt den zweiten String auch hinter den ersten, aber mein Problem ist es nun, dass der Cursor immer an der ersten Position stehen bleibt. Mir wurde schon empfohlen es mit der Selstar Eigenschaft zu lösen. VirtKeyBoardEdit.SetFocus; VirtKeyboardEdit.SelStart := Length(VirtKeyBoardEdit.Text); Der Cursor springt in diesem Falle ans Ende, aber jedes mal wenn ich den Buttonklicke springt er zuerst noch an den Anfang und dann ans Ende. Er soll aber Konstant immer am Ende stehen. Wenn es möglich sein sollte, kann er auch ganz ausgeblendet sein ^^ Lg |
Re: Editfeld - Cursor ans Ende setzen oder ausblenden
Wenn du Edit.Text einen Wert zuweißt, wird nunmal unweigerlich der Cursor von Windows an den Anfang gesetzt.
Delphi-Quellcode:
Der einzige Weg, wo der Cursor nicht erst nach vorne springt, wäre nur die Selection zu ändern.
VirtKeyBoardEdit.SetFocus;
VirtKeyboardEdit.SelStart := -1; VirtKeyboardEdit.SelText := 'a'; // 'a' hinten dranhängen VirtKeyboardEdit.SelStart := -1; |
Re: Editfeld - Cursor ans Ende setzen oder ausblenden
...ist das Selection ändern etwas aufwendiges? Und die Variante den Cursor auszublenden? :)
EDIT: Die Variante von dir klappt doch.. o.O. DANKE! |
Re: Editfeld - Cursor ans Ende setzen oder ausblenden
Jetzt kommen aber die Probleme wenn ich den Sring wieder löschen will, dann springt er wieder ganz an den Anfang -.-
VirtKeyBoardEdit.SetFocus; VirtKeyboardEdit.SelStart := -1; virtKeyboardEdit.Text := Copy(virtKeyboardEdit.Text, 1, Length(virtKeyboardEdit.Text) - Length('Teststring') ); VirtKeyboardEdit.SelStart := -1; |
Re: Editfeld - Cursor ans Ende setzen oder ausblenden
Delphi-Quellcode:
löscht die letzen 3 Zeichen
Edit1.SelStart := Length(Edit1.Text) - 3;
Edit1.SelLength := 3; Edit1.SelText := ''; Text einfügen/anhängen
Delphi-Quellcode:
Text ersetzen
Edit1.SelStart := i;
// diese Zeile kann weg, da SelLength durch SelStart auf eh 0 steht //Edit1.SelLength := 0; Edit1.SelText := Text;
Delphi-Quellcode:
Text löschen
Edit1.SelStart := i;
Edit1.SelLength := Len; Edit1.SelText := Text; Edit1.SelStart := i + Length(Text);
Delphi-Quellcode:
Edit1.SelStart := i;
Edit1.SelLength := Len; Edit1.SelText := ''; Edit1.SelStart := i + Length(Text); |
Re: Editfeld - Cursor ans Ende setzen oder ausblenden
klappt! Wunderbar ^^
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz