首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从CListCtrl中删除图像

从CListCtrl中删除图像
EN

Stack Overflow用户
提问于 2016-11-24 10:38:19
回答 2查看 835关注 0票数 0

如何从ClistCtrl中删除图像:

我正在努力如下:

代码语言:javascript
复制
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有图像列表,它正在正确地显示。我怎么才能把它移除?

试过这个:

代码语言:javascript
复制
  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);
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-24 10:54:09

如果要删除图像,请将LVIF_IMAGE添加到掩码中:

代码语言:javascript
复制
LVITEM item = { 0 };
item.mask = LVIF_IMAGE;
item.iItem = rowIndex;
item.iImage = -1;
listCtrl.SetItem(&item);

如果您没有使用正确的掩码,那么相应的成员将被忽略。

来自LVITEM文档

LVIF_IMAGE iImage成员有效或必须设置。 LVIF_TEXT pszText成员有效或必须设置

票数 2
EN

Stack Overflow用户

发布于 2016-11-25 15:47:16

我需要的是在无效案例上显示一个验证图标,并在有效的情况下隐藏该图标:

代码语言:javascript
复制
if (dataValue.at(0) == INVALID)
  {   
    listCtrl.InsertItem(rowIndex, L"");
  }   
else
  {
    listCtrl.InsertItem(rowIndex, L"", -1);
  }

在我看来,隐藏图像的唯一方法是设置一个无效的图像,并将-1作为第3部分。

太奇怪了!!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40784192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档