平铺视图中的 c++ 虚拟列表视图,无法显示子项
c++ Virtual ListView in Tile view, can't get subitems to appear
我有一个直接的win32 c ++应用程序,我正在用视图类型设置为LV_VIEW_TILE的ListView填充窗口,并且还将样式设置为LVS_OWNERDATA。
我在尝试弄清楚如何显示子项时遇到麻烦。此代码创建视图。
DWORD exstyle =WS_EX_CLIENTEDGE|LVS_EX_DOUBLEBUFFER|LVS_EX_JUSTIFYCOLUMNS|LVS_EX_INFOTIP;
g_hwndList = CreateWindowEx(exstyle, WC_LISTVIEW, NULL, WS_CHILD | WS_VISIBLE | LVS_ICON | LVS_OWNERDATA, 0, 0, 0, 0, hWnd, (HMENU) 2702, hInst, NULL);
ListView_SetView(g_hwndList, LV_VIEW_TILE);
LVTILEVIEWINFO tileViewInfo = { };
tileViewInfo.cbSize = sizeof(LVTILEVIEWINFO);
tileViewInfo.dwFlags = LVTVIF_AUTOSIZE;
tileViewInfo.dwMask = LVTVIM_COLUMNS;
tileViewInfo.cLines = 1;
BOOL tst = ListView_SetTileViewInfo(g_hwndList, &tileViewInfo);
我只想再出现一个子项目/列。在我的LVN_GETDISPINFO中,我目前有这个:
static int colfmt[1];
colfmt[0] = LVCFMT_LEFT;
static int order[1];
order[0] = 1;
if ((nimfo->item.mask & LVIF_COLUMNS) == LVIF_COLUMNS) {
nimfo->item.cColumns = 1;
nimfo->item.piColFmt = PINT(colfmt);
nimfo->item.puColumns = PUINT(order);
}
if ((nimfo->item.mask & LVIF_TEXT) == LVIF_TEXT) {
nimfo->item.pszText = di->LABEL;
}
if ((nimfo->item.mask & LVIF_IMAGE) == LVIF_IMAGE) {
nimfo->item.iImage = di->IMAGE_INDEX;
}
我无法确定在什么时候和在哪里需要提供子项/列文本,我从未看到 nimfo->item.subitem 从 0 更改,并且对于每次调用LVIF_TEXT,结构值始终相同。
那么,在什么时候我需要提供额外的文本数据呢?
非常感谢。
我相当愚蠢地没有添加任何列,因此没有被要求提供其他项目。
添加了这个,一切正常
LVCOLUMN col = {};
col.mask = LVCF_SUBITEM;
col.iSubItem = 0;
ListView_InsertColumn(g_hwndList, 0, &col);
相关文章:
- 在网格视图中显示数据 - 基于 MFC c++ 对话框的应用程序
- 显示树的左侧视图时出错
- Qt C++ - 在一个视图中显示来自多个SQLite表的数据
- 在QT视图中显示位图数据
- 列表视图最初不显示数据
- 更新模型/视图方案中 QXXXView (QTableView, QTreeView,..) 元素的显示工具提示
- 在自定义树视图中显示QCOMBOBOX向下箭头
- Qt在QtWebEngine视图中显示QImage或像素映射(从C++到HTML)
- UWP-列表视图绑定在C /CX中的XAML上不显示
- Android NDK-如何从TAP中获取坐标并将其显示在文本视图上
- 资源管理器在 TILE 视图模式下不显示 shell 命名空间扩展的项目详细信息
- 位图图像未显示在CListCtrl报告视图中
- 如何在列表视图中显示每个项目的所有QComboBoxes
- QT 排序模型并在表视图中显示
- 平铺视图中的 c++ 虚拟列表视图,无法显示子项
- 突出显示树视图C++生成器中的项
- 在显示视图之前,是否可以在内部更改模型数据
- 使用Qt表视图显示大数据
- c++ MFC MDI如何根据活动文档更改类视图显示的内容
- 如何强制多个视图显示相同的模型行