Einzelnen Beitrag anzeigen

BadenPower

Registriert seit: 17. Jun 2009
616 Beiträge
 
#4

AW: ListView SubItem Background Color

  Alt 24. Feb 2015, 10:26
So wirds gemacht:

Delphi-Quellcode:
procedure TF_DevelopTest.ListView1CustomDrawSubItem(Sender: TCustomListView;
  Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean);
begin

  if ((SubItem = 2) and (Item.SubItems.Count > 1)) then
   begin
    if (Item.SubItems.Strings[1] = 'Test') then
     begin
      Sender.Canvas.Brush.Color := $CCFFCC;
     end
    else
     begin
      Sender.Canvas.Brush.Color := $CCCCFF;
     end;
   end
  else
   begin
    Sender.Canvas.Brush.Color := $000000;
    Sender.Canvas.Brush.Color := TListView(Sender).Color;
   end;

end;
Du musst nur aufpassen:

SubItem fängt bei 1 an, dass heisst, dass Dein mittlerer Eintrag von 3 SubItems der Wert 2 ist, aber die Strings von 0 ab gezählt werden.
Programmieren ist die Kunst aus Nullen und Einsen etwas sinnvollen zu gestalten.
Der bessere Künstler ist allerdings der Anwender, denn dieser findet Fehler, welche sich der Programmierer nicht vorstellen konnte.

Geändert von BadenPower (24. Feb 2015 um 10:34 Uhr)
  Mit Zitat antworten Zitat