Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: SelAttributes im RichEdit

  Alt 14. Mai 2005, 22:09
Hallo Hügel,

wenn du SelLength auf einen negativen Wert setzen willst, dann musst du dich etwas mehr anstrengen - intern wird nur mit dem Betrag gearbeitet. Das Abschneiden, Löschen und Formatieren jeweils eines einzelnen Zeichens ist auch nicht gerade der Hit. Hier ein kleiner Ausschnitt aus einem Programm, mit dem ich selbst solche Style-Infos zeilenweise verarbeite. Vielleicht hilft dir das ja bei der Verbesserung deines Codes. Die Funktion Strip() zerlegt einen String beim ersten Auftreten eines Delimiters und StripStyle() extrahiert die Style-Codes und merkt sie sich in CurrentStyle.

Delphi-Quellcode:
procedure TMainForm.ProcessLine(line: string);
var
  s: string;
begin
  RichEdit.Lines.Add('');
  while line <> 'do begin
    s := Strip(line, '[', pmSingle);
    RichEdit.SelStart := Length(RichEdit.Text) - 2;
    RichEdit.SelAttributes.Style := CurrentStyle;
    RichEdit.SelText := s;
    if line <> 'then
      StripStyle(line);
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat