Einzelnen Beitrag anzeigen

MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#1

[SynEdit] Farben aus OnSpecialLineColors werden nicht direkt

  Alt 22. Mär 2007, 17:43
Farben aus OnSpecialLineColors werden nicht direkt übernommen.

Moin,

ich benutze folgenden Code, um alle Zeilen die einen Mark enthalten, zu färben:
Delphi-Quellcode:
procedure TForm1.SynEdit1SpecialLineColors(Sender: TObject; Line: Integer;
  var Special: Boolean; var FG, BG: TColor);
var
  i: integer;
begin
  i := 0;
  Special := false;
  while (i < SynEdit1.Marks.Count) and not Special do
  begin
    if SynEdit1.Marks.Items[i].Line = Line then
    begin
      FG := clWhite;
      BG := clGray;
      Special := true;
    end;
    inc(i);
  end;
end;
Nun funktioniert dies aber nur, wenn während dem Event OnSpecialLineColors das SynEdit verdeckt ist, z.B. beim Debuggen, ist dies nicht der Fall, bleibt die Zeile weiß. Ist die Zeile nur zur Hälfte verdeckt, wird auch nur die verdeckte Hälfte der Zeile grau.

Bei der SimpleIDEDemo funktioniert dies ohne Probleme (aber ich habe keinen entsprechenden Code gefunden, bzw. die Einstellungen sind mit meinem SynEdit identisch)

Wie kann ich das SynEdit dazu bewegen, direkt die komplette Zeile zu färben ?

Gruß
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat