我已将项目添加到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);
答案 0 :(得分:0)
使用CListCtrl::SetItem
是正确的。您必须将nMask
参数设置为 LVIF_IMAGE ,并在iImage
参数中提供图像列表中图像的索引。