0
Delphi 10.1 Berlin. ListView.ItemAppearance = DynamicAppearance. Je veux changer l'image dans ListViewItem dans Runtime.Changer la listeAfficher l'image lors de l'exécution Delphi 10.1 Berlin
Mon code:
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;
fin;
Résultat: toutes les images sont rouges (Image1 aussi).
Qu'est-ce que je fais mal?
OK, j'ai trouvé une décision. Le problème était dans Bitmap.Assign. La méthode normale est TListItemImage (LsvAl.Items [k] .Objects.FindDrawable ('Imp1')). Bitmap: = Image2.Bitmap; – Rusland
Il est difficile de savoir quand assigner() un btimap et quand: = un bitmap. – nolaspeaker