Einzelnen Beitrag anzeigen

Benutzerbild von Tyler
Tyler

Registriert seit: 19. Jun 2003
Ort: Berlin
241 Beiträge
 
#1

ListBox - Zeile einfärben funktioniert nicht

  Alt 4. Dez 2004, 17:53
Hallo ihrs

ich hab folgenden Code im OnDrawItem einer Listbox:

Delphi-Quellcode:
  lb_debug.Canvas.Brush.Color := clWhite;

  if Pos('<', lb_debug.Items.ValueFromIndex[ lb_debug.ItemIndex]) = 1 then
    lb_debug.Canvas.Font.Color := clGreen
  else if Pos('>', lb_debug.Items.ValueFromIndex[ lb_debug.ItemIndex]) = 1 then
    lb_debug.Canvas.Font.Color := clRed
  else
    lb_debug.Canvas.Font.Color := clBlack;

  TopDif := (lb_debug.ItemHeight div 2) - (Canvas.TextHeight(#32) div 2);
  lb_debug.Canvas.TextRect(Rect, Rect.Left, Rect.Top + TopDif, lb_debug.Items[Index]);
(aus der Suche hier im Board )

Es geht darum, die Zeilen nach einem Kriterium einzufärben. Wenn das erste Zeichen also ein > ist, solls Rot sein, bei < solls Grün sein. Sonst schwarz.

Nur klappt das ganze nicht so richtig.
Erst ist alles grün, und färbt sich dann nur richtig ein, wenn ich die Zeile direkt anklicke.

Habt ihr ne Idee?

tyler
  Mit Zitat antworten Zitat