Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#15

AW: TEdit Cursorposition verwenden

  Alt 2. Aug 2016, 10:39
Will er selber ein INSERT machen, dann wäre SelStart schon relevant. (Inhalt auslesen, einfügen und wieder zuweisen)
Mit SelText kann man den selektierten Text an der Cursorposition ersetzen, also vorher noch ein SelLength:=0, da man sonst eventuell ersetzt und nicht einfügt.
So wie er das Vorgehen im ersten Post beschrieben hat (Caret im Edit an Einfügeposition setzen, dann auf ListBox klicken), muss nichts weiter geschehen. Das Standardverhalten beim Schreiben von TEdit.SelText ohne selektierten Text ist das Einfügen an die Caret-Position, was genau dem gewünschten Verhalten entspricht.

Sollte allerdings ein Text im Edit markiert sein, wird dieser ersetzt - ich vermute, das ist dann aber auch so erwünscht.

Diese ganze Rumrechnerei und der Code in EditMouseDown und EditKeyUp sind vollkommen überflüssig und lenken nur von der eigentlich sehr simplen Lösung ab.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat