我试图用一个元素在CListrCtrl中创建简单的组,但它没有显示任何内容:
EnableGroupView(TRUE);
LVGROUP group = { 0 };
group.cbSize = sizeof(LVGROUP);
group.iGroupId = 1;
group.state = LVGS_NORMAL;
group.mask = LVGF_GROUPID | LVGF_HEADER | LVGF_STATE | LVGF_ALIGN;
group.uAlign = LVGA_HEADER_LEFT;
int idx = InsertGroup(0, &group);
LVITEM item = {0};
item.mask = LVIF_TEXT | LVIF_IMAGE;// | LVIF_GROUPID;
item.iItem = 0;
item.iSubItem = 0;
item.pszText = L"aa";
item.cchTextMax = 3;
item.state = 0;
item.stateMask = LVIS_SELECTED;
item.iGroupId = idx;
InsertItem(&item);顺便说一句,只有当我不启用组视图模式时,我才能看到这个项目。我做错了什么吗?
PS: Windows 7+ MSVC 2010
发布于 2014-01-23 21:30:54
LVITEM::iGroupId成员希望获得一个组ID,但是您将传递给它一个组索引。这就是为什么您看不到项目--您正在将其添加到一个不存在的组中。您需要将item.iGroupId设置为group.iGroupId (即1)。
https://stackoverflow.com/questions/21319220
复制相似问题