在 MFC 的 CListCtrl 类中,没有直接名为 RemoveGroup 的公共方法。但是,你可以使用 RemoveItem 方法来移除属于某个组的所有项。以下是一个示例:
CListCtrl m_listCtrl;  // 通过类向导添加的 CListCtrl 对象

// 假设有一个组的标识符为 groupId
int groupId = 1;

// 获取组的第一个项的索引
int firstItemIndex = m_listCtrl.GetNextItem(-1, LVNI_ALL | LVNI_GROUP);

while (firstItemIndex != -1) {
    // 获取项的组标识符
    int itemGroupId = m_listCtrl.GetGroupID(firstItemIndex);

    // 如果项的组标识符与要移除的组标识符相符,就移除该项
    if (itemGroupId == groupId) {
        m_listCtrl.DeleteItem(firstItemIndex);
    }

    // 继续查找下一个项
    firstItemIndex = m_listCtrl.GetNextItem(firstItemIndex, LVNI_ALL | LVNI_GROUP);
}

在这个例子中,我们通过 GetNextItem 方法找到所有属于指定组的项,然后通过 DeleteItem 方法删除这些项。请注意,这个示例是基于假设的组标识符 groupId,你需要根据实际情况修改。

如果你的需求是移除组而不是组中的项,可能需要在删除项的同时更新相关的组信息,以确保列表控件的正确显示。


转载请注明出处:http://www.pingtaimeng.com/article/detail/18623/MFC/CListCtrl