我有一个ListView(vsReport):最后一个SubItem有一个文本“wait”。然后我会将其更改为“ok”或“error”。如何绘制整行(如果在CustomDrawItem中使用Sender.Canvas.Brush.Color,它将是Windows 7中的列之间的间隙),此SubItem为绿色(ok)和红色(错误)?
谢谢!
答案 0 :(得分:1)
你可以做到
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Item.Index = Sender.Items.Count - 1 then
begin
Sender.Canvas.Brush.Color := clSkyBlue;
Sender.Canvas.FillRect(Item.DisplayRect(drBounds));
end;
end;
但是我建议反对它,因为它是错误的(我不知道如何解决它)。
Screenshot http://privat.rejbrand.se/listviewentirerowfill.png