我有一个带有动态外观的TListview。我添加了一个图像对象,现在我尝试将资源中的图像加载到此图像对象上,但我一直遇到访问冲突。
我的代码:
procedure TfrmMain.btnAddPlayerClick(Sender: TObject);
var
ListItem: TListViewItem;
imgBanned: TListItemImage;
InStream: TResourceStream;
begin
InStream := TResourceStream.Create(HInstance, 'banned', RT_RCDATA);
lvPlayers.BeginUpdate;
try
ListItem := lvPlayers.Items.Add;
imgBanned := ListItem.Objects.FindObjectT<TListItemImage>('imgBanned');
imgBanned.Bitmap.LoadFromStream(InStream);
finally
lvPlayers.EndUpdate;
InStream.Free;
end;
end;
编辑: 调试后我得到以下内容,但我不知道它意味着什么。我发现它与GetFieldAddress有关,但我不确定这是什么
答案 0 :(得分:2)
您需要创建自己的位图,然后设置TImageListItem.Bitmap以引用它,以便以编程方式加载图像。
检查TListViewItem.Bitmap属性的文档,了解如何正确处理此问题 http://docwiki.embarcadero.com/Libraries/Tokyo/en/FMX.ListView.Appearances.TListViewItem.Bitmap