Basically, I have the following Delphi 2007 code (CustomDrawItem):
procedure TForm1.ListViewCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if (Item.SubItems[0] = '...') then
ListView.Canvas.Brush.Color := clSkyBlue;
end;
On my Windows XP, everything works perfectly:

But on Windows 7, here’s what I have:

Now, of course, I’d like to know what’s the right code to fill these vertical white stripes. But also, I’d like to know why is this happening. Does it come from Delphi? Windows 7? My code?
It seems a Windows 7 paint behavior, as workaround you can set
ownerdrawproperty to true and use theOnDrawItemevent instead.Like so
Windows 7
Windows XP