Einzelnen Beitrag anzeigen

TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Farbe in Zeilen eines RichEdits

  Alt 11. Sep 2004, 18:29
Wenn du so RichEdit1.Text lädst, dann lädst du ja jedesmal den gesamten Text von RichEdit immer wieder neu ...also werden Format-Informationen, die da mit dem alten Text assoziiert waren, auch jedesmal wieder mit überschrieben, also gelöscht. Und das RichEdit1.Text auf der rechten Seite der Zuweisung ist dann natürlich auch wieder nur ein normaler String ohne Format-Infos.


Wenn du nur eine einzelne Zeile ansprechen willst, könnte das ungefähr so aussehen:

Delphi-Quellcode:
procedure markLineNo(LineIndex : integer; clColor : TColor; MarkLen : integer = 0);
begin
  with form1.RichEdit1 do begin
    SelStart := Perform(EM_LINEINDEX,LineIndex,0);
    if MarkLen = 0 then SelLength := Perform(EM_LINELENGTH,SelStart,0)
                   else SelLength := MarkLen;
    SelAttributes.Color := clColor;
  end;
end;
Bei fehlendem MarkLen-Wert in der übergebenden Parameterliste würde dann die gesamte Zeile markiert.
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat