Registriert seit: 17. Jun 2009
616 Beiträge
|
AW: ListView SubItem Background Color
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)
|