c++ - 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;
}
解决方案
推荐阅读
- optix - 如何使用 Optix Context Wrapper 进行 rtPrint
- amazon-redshift - 在 Liquibase 中指定不同的“TAG”列名
- java - Facebook 身份验证失败
- xcode - 如何在没有导航栏的情况下水平切换视图?
- git-submodules - Git 子模块 - 跟踪外部 Git 存储库的子文件夹
- javascript - react-navigation - 未找到模块:无法在“react-native-safe-area-view”中解析“react-native”
- python - 为什么 max(*list) 和 max(list) 在 python 中做同样的事情?
- bash - 不知道为什么我的 Makefile 目标不起作用
- cpu-architecture - 在解决计算机系统中的内存问题时,大写和小写“b”有什么区别?
- dart - 基本的异步/等待模式?