Einzelnen Beitrag anzeigen

Mazen

Registriert seit: 6. Okt 2011
66 Beiträge
 
Delphi 7 Professional
 
#1

TListView Zeilenfarbe mit "CustomDrawItem" ändern

  Alt 31. Jan 2012, 11:45
Hab nochmal eine Frage zum TListView...

Und zwar gehts jetzt dadrum bestimmt Zeilen im ListView zu färben. Ich habe gelesen das das mit dem Event "CustomDrawItem" des ListView gemacht werden soll. Allerdings funktioniert das bei mir nicht.
Das Prinzip ist folgendes:

Ich habe in meiner "Hauptfunktion" eine Schleife mit der der ListView gefüllt wird. Meine Hoffnung war das das Event "CustomDrawItem" jedesmal aufgerufen wird wenn li.Caption := '...' ausgeführt wird. Bei mir ist es aber so das die Schleife erstmal komplett durchläuft, und erst danach das Event ausgeführt wird (natürlich genausoft wie auch li.Caption aufgerufen wurde, aber das nützt mir nichts, da ich bei Laufzeit in der Schleife eine Variable setze und diese im Event abgefragt wird. Nur das ist natürlich nutzlos wenn li.Caption und das Event nicht abwechselnd aufgerufen werden.

Mein Code im Event sieht so aus:

Code:
  if fehlercode = '1 ' then
  begin
    Sender.Canvas.Font.Color := clRed;
    DefaultDraw := True;
  end
  else if fehlercode = '2 ' then
  begin
    Sender.Canvas.Font.Color := clGreen;
    DefaultDraw := True;
  end
  else if fehlercode = '1 2 ' then
  begin
    Sender.Canvas.Font.Color := clBlue;
    DefaultDraw := True;
  end else
  begin
    Sender.Canvas.Font.Color := clDefault;
    DefaultDraw := True;
  end;
  Mit Zitat antworten Zitat