首页 > 解决方案 > CListCtrl::InsertItem 成功但没有显示

问题描述

我在图标视图中有一个 CListCtrl,我使用 InsertItem 将一个项目添加到列表控件。InsertItem 返回成功,并使用 GetItemText 等轮询数据返回我发送的文本、正确的项目计数等......总之,这应该显示,但它没有显示任何内容,但数据是正确的。我对此束手无策。我写这篇文章是因为我希望有人能快速修复灯泡,因为我一直在搜索谷歌并不断出现 EMPTY!

这是一些调试代码,我必须证明这些值是“正确的”。nRet永远不会-1,csText 永远不会为空,nCount 是正确的(即如果我调用此代码 3 次,nCount 为 3),dwErr始终为 0 ....

LVITEM lvi = { 0 };
CString strItem = "TEST";
lvi.mask = LVIF_IMAGE | LVIF_TEXT;
lvi.iItem = (int)(UINT)unIndexGrp;
lvi.iSubItem = (int)0;
lvi.pszText = (LPTSTR)(LPCTSTR)(strItem.GetBufferSetLength(strItem.GetLength() * 2));
lvi.iImage = (int)(UINT)unImageListIndex;

...

int nRet = vecLstCtrl[nGroupID]->InsertItem(&lvi);
DWORD dwErr = GetLastError();
if (nGroupID > 0)
{
//ASSERT(FALSE);
    CImageList *pIL = vecLstCtrl[nGroupID]->GetImageList(LVSIL_NORMAL);
    int nCount = vecLstCtrl[nGroupID]->GetItemCount();
    CString csText = vecLstCtrl[nGroupID]->GetItemText(lvi.iItem, lvi.iSubItem);
    int nImgCount = pIL->GetImageCount();
    ASSERT(FALSE);
    return nRet;
}

标签: c++winapivisual-c++mfc

解决方案


推荐阅读