我尝试使用一个元素在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
答案 0 :(得分:3)
LVITEM::iGroupId
会员需要群组ID ,但您传递的是群组索引。这就是您无法看到该项目的原因 - 您将其添加到不存在的组中。您需要将item.iGroupId
设置为group.iGroupId
(即1
)。