[英]Remove image from CListCtrl
如何从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);
}
如果要删除图像,请将LVIF_IMAGE
添加到蒙版:
LVITEM item = { 0 };
item.mask = LVIF_IMAGE;
item.iItem = rowIndex;
item.iImage = -1;
listCtrl.SetItem(&item);
如果不使用正确的蒙版,则将忽略相应的成员。
从LVITEM文档中 :
LVIF_IMAGE
iImage
成员有效或必须设置。
LVIF_TEXT
pszText
成员有效或必须设置
我需要的是在无效情况下显示验证图标,并在有效情况下隐藏图标:
if (dataValue.at(0) == INVALID)
{
listCtrl.InsertItem(rowIndex, L"");
}
else
{
listCtrl.InsertItem(rowIndex, L"", -1);
}
在我看来,隐藏图像的唯一方法是将无效图像设置为-1作为第三参数。
这很奇怪!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.