CListBox::GetSelItems 是 MFC(Microsoft Foundation Classes)中 CListBox 类的一个公共方法,用于获取所有选中项的索引。

以下是 CListBox::GetSelItems 的函数原型:
int GetSelItems(int nMaxItems, LPINT rgIndex) const;

  •  nMaxItems 表示 rgIndex 数组的大小,即最多可以接受的选中项数量。

  •  rgIndex 是一个指向整数数组的指针,用于接收选中项的索引。


该方法返回一个整数,表示实际获取到的选中项的数量。如果 nMaxItems 太小,以至于不能容纳所有选中项的索引,该方法将返回 -1。

以下是一个简单的示例代码,演示如何使用 CListBox::GetSelItems 方法:
// 假设 m_listBox 是你的 CListBox 对象的一个成员变量

// 假设列表框中有 10 个项
int nItemCount = m_listBox.GetCount();
int nMaxItems = 10;
int* pSelectedItems = new int[nMaxItems];

// 获取选中项的索引
int nSelectedCount = m_listBox.GetSelItems(nMaxItems, pSelectedItems);

if (nSelectedCount != LB_ERR) {
    // 输出选中项的索引
    TRACE(_T("Selected items: "));
    for (int i = 0; i < nSelectedCount; ++i) {
        TRACE(_T("%d "), pSelectedItems[i]);
    }
    TRACE(_T("\n"));
} else {
    // 未能获取选中项的索引
}

delete[] pSelectedItems;

在这个示例中,我们使用 GetSelItems 方法获取选中项的索引,并使用 TRACE 输出到调试窗口。请注意,在使用完数组后,需要使用 delete[] 释放内存。


转载请注明出处:http://www.zyzy.cn/article/detail/18446/MFC/CListBox