Einzelnen Beitrag anzeigen

Rackergen2

Registriert seit: 13. Jul 2004
99 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Im Memo Text an Cursor Position einfügen

  Alt 14. Jul 2004, 13:23
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;
Ich hoffe, das hilft... Bei mir hat es geklappt...

Die Markierung soll hinter das letze Zeichen? Kein Problem!
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); //neuen Text einfügen
  Memo1.Text:=MemoText; //Text zurück zu Memo1

  Memo1.SelStart:=Select+length(InsertText); //Selektionsbeginn hinter neuem Text wiederherstellen
  Memo1.SelLength:=0; //Selektion auf 0 beschränken
end;
  Mit Zitat antworten Zitat