MFC ListView更改项目图像

时间:2013-01-18 14:46:56

标签: c++ mfc

我已将项目添加到ListControl,它们有图像。现在我想改变它们,我试着做GetItem和SetItem,但我无法做到。至少我不知道如何获得我想要的物品。如何在ListView中更改项目的图像?

由于

P.S。

我设法解决了这个问题。这是解决方案:

这是如何循环

LVITEMW pitem;
ZeroMemory(&pitem, sizeof(pitem));

pitem.mask  = LVIF_TEXT | LVIF_IMAGE;
pitem.iItem = <SET INDEX OF YOUR ITEMS HERE, YOU CAN LOOP HERE>;
pitem.iSubItem = 0;
pitem.pszText = new wchar_t[256];
pitem.cchTextMax = 255;
mlist.GetItem(&pitem);

选择一个项目后,您可以像这样更改它的图像:

pitem.iImage = newindex;
mlist.SetItem(&pitem);

1 个答案:

答案 0 :(得分:0)

使用CListCtrl::SetItem是正确的。您必须将nMask参数设置为 LVIF_IMAGE ,并在iImage参数中提供图像列表中图像的索引。