如何从ClistCtrl中删除图像:
我正在努力如下:
LVITEM item;
item.mask = LVIF_TEXT;
item.iItem = rowIndex;
item.iSubItem = 0;
item.pszText = L"";
item.state = 0;
item.stateMask = 0;
item.iImage = -1;
item.lParam = 0;
listCtrl.InsertItem(&item);我的CListCtrl有图像列表,它正在正确地显示。我怎么才能把它移除?
试过这个:
if (dataValue.at(0) == INVALID)
{
listCtrl.InsertItem(rowIndex, L"", 0);
}
else
{
LVITEM item = { 0 };
item.mask = LVIF_TEXT | LVIF_IMAGE;
item.iItem = rowIndex;
item.pszText = L"Test";
item.iImage = -1;
listCtrl.SetItem(&item);
}发布于 2016-11-24 10:54:09
如果要删除图像,请将LVIF_IMAGE添加到掩码中:
LVITEM item = { 0 };
item.mask = LVIF_IMAGE;
item.iItem = rowIndex;
item.iImage = -1;
listCtrl.SetItem(&item);如果您没有使用正确的掩码,那么相应的成员将被忽略。
来自LVITEM文档
LVIF_IMAGEiImage成员有效或必须设置。LVIF_TEXTpszText成员有效或必须设置
发布于 2016-11-25 15:47:16
我需要的是在无效案例上显示一个验证图标,并在有效的情况下隐藏该图标:
if (dataValue.at(0) == INVALID)
{
listCtrl.InsertItem(rowIndex, L"");
}
else
{
listCtrl.InsertItem(rowIndex, L"", -1);
}在我看来,隐藏图像的唯一方法是设置一个无效的图像,并将-1作为第3部分。
太奇怪了!!
https://stackoverflow.com/questions/40784192
复制相似问题