1

德尔福 10.1 柏林。ListView.ItemAppearance=动态外观。我想在运行时更改 ListViewItem 中的图像。

看法

我的代码:

procedure TForm1.Button2Click(Sender: TObject);
var
  k:integer;
begin
  LsvAl.BeginUpdate;
  for k := 0 to LsvAl.ItemCount-1 do
  begin
    if (k mod 2)=0 then
    begin
      TListItemImage(LsvAl.Items[k].Objects.FindDrawable('Imp1')).Bitmap.Assign(Image2.Bitmap); //
      TListItemText(LsvAl.Items[k].Objects.FindDrawable('TxtNum')).TextColor:=$FFFF2346;
    end
    else
    begin
      TListItemImage(LsvAl.Items[k].Objects.FindDrawable('Imp1')).Bitmap.Assign(Image1.Bitmap);
      TListItemText(LsvAl.Items[k].Objects.FindDrawable('TxtNum')).TextColor:=$FF009DFE;
    end
  end;
  LsvAl.EndUpdate;

结尾;

结果:所有图片都是红色的(也是Image1)。

前

后

我究竟做错了什么?

项目来源

4

1 回答 1

0

一个插件在哪里 - 分配位图后,您可以通过 AItem.OwnsBitmap 使项目所有者:= True;

于 2016-05-30T11:51:36.643 回答