Die eingestellte Farbe bleibt erhalten und clWindow greift nicht (weshalb, das ist mir auch unklar). Wenn man es auf irgendetwas ändert und danach zurück auf clWindow, dann funktionierts:
Delphi-Quellcode:
procedure TForm1.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
case SubItem of
1: Sender.Canvas.Brush.Color := clRed;
2: Sender.Canvas.Brush.Color := clLime;
3: Sender.Canvas.Brush.Color := clBlue;
else
begin
Sender.Canvas.Brush.Color := clPurple;
Sender.Canvas.Brush.Color := clWindow;
end;
end; // case SubItem of
end;