1

Delphi 10.1 ベルリン。ListView.ItemAppearance=DynamicAppearance. 実行時に ListViewItem の Image を変更したい。

意見

私のコード:

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

ここで、1 つのアドオンです。ビットマップを割り当てた後、AItem.OwnsBitmap := True; によってアイテムの所有者を作成できます。

于 2016-05-30T11:51:36.643 に答える