我拿了一个ListView。我已将itemAppearance更改为DynamicAppearance。 此列表视图包含一个位图作为成员。现在我想用C ++代码填充列表。列表视图中有2个成员文本&图像(MYIMAGE)。我可以通过C ++将值分配给Text,现在我尝试将图像分配给listview的位图图像。但我无法将图像分配给listview。 以下是我写的代码:
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ListView1->的BeginUpdate();
try{
for(int i = 0; i<=10; i++)
{
TListViewItem* item = ListView1->Items->Add();
TListItemText *Txt = (TListItemText*)item->Objects->FindObject("Text1");
Txt->Text = "Sarthak Mirajkar";
TListItemImage* img = (TListItemImage*)item->Objects->FindObject("MyImage");
img->Bitmap->LoadFromFile("Images\\123.bmp");
}
}
catch(...)
{}
ListView1->EndUpdate();
}
此代码不会给出编译器错误,但它不起作用。 我试图在语句img-&gt; Bitmap-&gt; LoadFromFile(&#34; Images \ 123.bmp&#34;)中给出了很多方法。但没有任何作用。 请帮我解决这个问题。
提前致谢。
答案 0 :(得分:0)
在表单中添加TImageList并将图像放入其中。然后,当您填充项目时,您可以为其分配如下图像:
item->ImageIndex = 1; // 1 = the image you want from the TImageList
确保已设置ListView属性&#34;图像&#34;到TImageList的名称(可能是ImageList1)。
我希望我能正确地解释你的问题。祝你好运。
更新:我想我会添加更完整的代码 - 请参阅下文。
// first add a header if you want too - not required
TListViewItem* itemHeader = ListView1->Items->Add();
ListView1->BeginUpdate();
itemHeader->Purpose = TListItemPurpose::Header;
itemHeader->Text = "My Header"; //
ListView1->EndUpdate();
// now add your item
TListViewItem* item2Add = ListView1->Items->Add();
ListView1->BeginUpdate();
item2Add->Text = "My item text";
item2Add->ImageIndex = 1; // set it's image to image 1 in the associated TImageList
ListView1->EndUpdate();
希望这有帮助。
拉斯