![]() |
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Ja genau so meinte ich es wie fkerber es schreibt. Also genau wie wenn man in Delphi mal ausversehen auf die "Einfg" Taste kommt und alles beim Tippen überschrieben wird und man sich furchtbar aufregt...
|
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Achso. Neue Idee:
Delphi-Quellcode:
Edit1.Text := Copy(Edit1.Text, 1, Edit1.SelStart) + Key + Copy(Edit1.Text, Edit1.SelStart + 1, Length(Edit1.Text));
|
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Mit SelStart bekommt man nur die Position wenn ein Zeichen auch selektiert ist, klappt also nicht.
|
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Sicher? Ich hab gerade kein Delphi zur Hand, aber war der Meinung, dass man damit die Cursorposition innerhalb des Edits bekommt.
|
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Ja sicher habs getestet ohne das was markiert ist steht SelStart immer auf der Endnummer des Strings, also auf Length(Edit1.Text).
|
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Auch, wenn Du vorher mal die "Pos1" bzw. "HOME"-Taste drückst?
|
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Nein bringt auch nix, ich denk nochmal drüber nach
Hab es, es ist doch einfacher als ich dachte trotzdem danke :
Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin keybd_event(VK_DELETE, 0, 0, 0); keybd_event(VK_DELETE, 0, KEYEVENTF_KEYUP, 0); end; das wars schon... |
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Das wäre durch Einfügen und Löschen aber auch gegangen, statt in den Tastaturpuffer zu schreiben. Aber meinetwegen.
|
DP-Maintenance
Dieses Thema wurde von "Daniel" von "Object-Pascal / Delphi-Language" nach "VCL / WinForms / Controls" verschoben.
Scheint eine VCL-Frage zu sein |
Re: Überschreib-Funktion von Zeichen im TEdit-Feld
Hallo,
Zitat:
Der imho beste Weg das Überschreiben zu realisieren, ist es in OnKeyDown eine entsprechende Selektion vorzunehmen:
Delphi-Quellcode:
if (Key > 31) and (Edit.SelLength = 0) then
Edit.SelLength := 1; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:36 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