如何在RAD studio

时间:2018-04-29 11:30:57

标签: firemonkey c++builder rad

我拿了一个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;)中给出了很多方法。但没有任何作用。 请帮我解决这个问题。

提前致谢。

1 个答案:

答案 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();

希望这有帮助。

拉​​斯