我想知道如何绘制Listview项目。
我的情况如下: 我有一个listview,每次你做检查,这个检查返回true,你必须改变listview线颜色。我通过改变颜色看到了例子,但我无法适应我的想法。
procedure TForm1.OncustomDrawItem(Sender: TCustomListView; Item: TListItem;
State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if corlistview then Begin
LstbxDados.Canvas.Brush.Color:= RGB(0, 0, 0);
corlistview := false;
End;
end;
程序
var corlistview : boolean = false;
procedure carrega(t:String);
begin
if beginNada then begin
corlistview := true;
end;
LstbxDados.Items.BeginUpdate;
try
countX := countX +1;
with LstbxDados.Items.Add do begin
Caption := IntToStr(i+1);
Subitems.add(title);
Subitems.add(url);
end;
finally
LstbxDados.Items.EndUpdate;
end;
end;
如何根据我的情况调整代码?
答案 0 :(得分:2)
试试这个。我使用TListItem
字幕的随机奇数和偶数来模拟你的样本中带有布尔结果的函数。
procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var i:integer;
begin
i:= strtoint(Item.Caption);
if i mod 2 =0 then
begin
Sender.Canvas.Brush.Color:=clNavy;
Sender.Canvas.FillRect(Item.DisplayRect(TDisplayCode.drBounds));
end;
end;