从clistctrl中删除图像
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为3rd param。
这很奇怪!
相关文章:
- 将数组的地址分配给变量并删除
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C/C++编译器通常会删除重复的库吗
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 从链接列表c++中删除一个项目
- C++如何通过用户输入删除列表元素
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- OpenCV EqualizeHist()从彩色图像创建黑白图像
- 图像分割 - 删除C 中不需要的像素
- 从C 的文件中删除图像
- 如何在C 中删除或删除.jpg和.dpx图像文件
- sfml pollevent,每个新图像都会删除上一个图像
- 从clistctrl中删除图像
- 从Gtk::TreeStore中删除图像的时髦方法
- 如何从图像中删除矩形轮廓
- 用于删除图像中的非文本区域的开源代码
- C++如何通过删除像素来最佳缩放图像
- 使用OpenCvC++中的原始图像作为掩码,从图像中删除徽标
- 是否可以以编程方式从 JPEG 图像中删除重新启动标记