0
Delphi 10.1 Berlin. ListView.ItemAppearance = DynamicAppearance. Я хочу изменить изображение в ListViewItem в Runtime.Изменить ListView Image at Runtime Delphi 10.1 Berlin
Мой код:
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 тоже).
Что я делаю неправильно?
ОК, я нашел решение. Проблема была в Bitmap.Assign. Обычный способ - TListItemImage (LsvAl.Items [k] .Objects.FindDrawable ('Imp1')). Bitmap: = Image2.Bitmap; – Rusland
Трудно узнать, когда назначить() btimap и когда: = растровое изображение. – nolaspeaker