Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从CListCtrl中删除图像_C++_Winapi_Mfc - Fatal编程技术网

C++ 从CListCtrl中删除图像

C++ 从CListCtrl中删除图像,c++,winapi,mfc,C++,Winapi,Mfc,如何从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有正确显示的图像列

如何从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);
如果不使用正确的掩码,则会忽略相应的成员

发件人:

LVIF\u图像

iImage
成员有效或必须设置

LVIF_TEXT

pszText
成员有效或必须设置


如果要删除图像,请将
LVIF_IMAGE
添加到遮罩:

LVITEM item = { 0 };
item.mask = LVIF_IMAGE;
item.iItem = rowIndex;
item.iImage = -1;
listCtrl.SetItem(&item);
如果不使用正确的掩码,则会忽略相应的成员

发件人:

LVIF\u图像

iImage
成员有效或必须设置

LVIF_TEXT

pszText
成员有效或必须设置


我需要的是在无效案例中显示验证图标,并在有效案例中隐藏图标:

if (dataValue.at(0) == INVALID)
  {   
    listCtrl.InsertItem(rowIndex, L"");
  }   
else
  {
    listCtrl.InsertItem(rowIndex, L"", -1);
  }
在我看来,隐藏图像的唯一方法是将一个无效图像设置为-1作为第三个参数


这太奇怪了

我需要的是在无效案例中显示验证图标,并在有效案例中隐藏图标:

if (dataValue.at(0) == INVALID)
  {   
    listCtrl.InsertItem(rowIndex, L"");
  }   
else
  {
    listCtrl.InsertItem(rowIndex, L"", -1);
  }
在我看来,隐藏图像的唯一方法是将一个无效图像设置为-1作为第三个参数


这太奇怪了

你看过吗?它坏了。它删除所有文本和图像。我只需要删除图像,如果你不想删除整个项目,而是想更新它。你有没有看过文档?一旦添加了图像,你就不能没有图像。这样做的方法是在你的图片列表中有一个空的图片。你看过吗?它不起作用。它删除所有文本和图像。我只需要删除图像,如果你不想删除整个项目,而是想更新它。你有没有看过文档?一旦添加了图像,你就不能没有图像。这样做的方法是在图像列表中有一个空图像。实际上它是一个验证图标。在有效的情况下,行中没有图像,只有其他单元格中的文本。在无效情况下,如果我在掩码中同时使用这两个项,则会同时显示图像和文本。文本和图像都消失了。实际上,它同时隐藏了文本和图像。我刚刚测试了它,它工作正常。这是5行代码,我不知道你可能在哪里出错。你能看到编辑代码吗?第一个条件是同时显示图像和文本。否则,我只需要显示文本。但它同时隐藏了文本和图像。你能猜出原因吗?实际上它是一个验证图标。在有效的情况下,行中没有图像,只有其他单元格中的文本。在无效情况下,如果我在掩码中同时使用这两个项,则会同时显示图像和文本。文本和图像都消失了。实际上,它同时隐藏了文本和图像。我刚刚测试了它,它工作正常。这是5行代码,我不知道你可能在哪里出错。你能看到编辑代码吗?第一个条件是同时显示图像和文本。否则,我只需要显示文本。但它同时隐藏了文本和图像。你能猜出原因吗?你的问题显然是关于修改现有的图像项。您应该询问“插入没有图像的项目”<代码>-1是无效的图像索引,它愚弄了listview控件。你真的应该使用一个指示无效的图标。你的问题显然是关于修改现有的图像项。您应该询问“插入没有图像的项目”<代码>-1是无效的图像索引,它愚弄了listview控件。你真的应该使用一个指示无效的图标。