SelText wurde schonmal genannt ... dieses Ersetzt die Selction durch den angegebenen Text, bzw. liest diese aus.
Delphi-Quellcode:
const
InsertText = 'test'; //Der String zum Einfügen
var
MemoText: string; //Eine variable für Memo1.Text
Select: Integer; //Position des Selektionsbegins
begin
MemoText:=Memo1.Text;
Select:=Memo1.SelStart; //Selektionsbeginn zwischenspeichern
if Memo1.SelLength>0 then
begin
Delete(MemoText, Select+1, Memo1.SelLength); //Selektiertes löschen
end;
Insert(InsertText, MemoText, Select+1); //neuen Text einfügen
Memo1.Text:=MemoText; //Text zurück zu Memo1
Memo1.SelStart:=Select; //Selektionsbeginn wiederherstellen
Memo1.SelLength:=length(InsertText); //neuen Text markieren (nicht sichtbar, da Memo nicht Fokussiert ist)
end;
ergibt also
Delphi-Quellcode:
begin
Memo1.SelText := InsertText;
Memo1.SelStart := Memo1.SelStart + Memo1.SelLength;
//Memo1.SelLength := 0; // wird schon durch SelStart auf 0 gesetzt
end;
und um den Cursor hinter den eingefügten Text zu setzen
Delphi-Quellcode:
begin
Memo1.SelText := InsertText;
Memo1.SelStart := Memo1.SelStart + Memo1.SelLength;
//Memo1.SelLength := 0; // wird schon durch SelStart auf 0 gesetzt
end;