Thema: Delphi RichEdit Zeilen löschen

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 18. Mai 2003, 14:02
Moin Silent,

statt Delete ginge es auch so:

Delphi-Quellcode:
  if RichEdit1.Lines.Count <= 200 then exit;
  RichEdit1.Lines.BeginUpdate;
  try
    RichEdit1.SelStart := SendMessage(RichEdit1.Handle,EM_LINEINDEX,0,0);
    RichEdit1.SelLength := SendMessage(RichEdit1.Handle,EM_LINEINDEX,199,0) + length(RichEdit1.Lines[199])+2;
    RichEdit1.ClearSelection;
  finally
    RichEdit1.Lines.EndUpdate;
  end;
EM_LINEINDEX gibt die Position des ersten Zeichens der angegebenen Zeile (Parameter nach der Message, nullbasiert) zurück, deshalb wird auch für SelLength auch noch die Länge der Zeile zzgl. 2 für den Zeilenvorschub genommen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat