在MFC中,ListBox控件可以通过设置其属性为LBS_MULTIPLESEL来实现多选功能。以下是一个示例代码来实现ListBox的多选功能:
1. 首先,在对话框资源中添加一个ListBox控件,并设置其属性为LBS_MULTIPLESEL。
2. 在对话框类的头文件中声明一个成员变量来引用ListBox控件:
```cpp
CListBox m_ListBox;
```
3. 在OnInitDialog()函数中添加以下代码来关联成员变量和ListBox控件:
```cpp
m_ListBox.SubclassDlgItem(IDC_LISTBOX, this);
```
4. 可以使用以下代码来获取ListBox的选中项:
```cpp
int nCount = m_ListBox.GetSelCount();
if (nCount > 0)
{
int* pIndexArray = new int[nCount];
m_ListBox.GetSelItems(nCount, pIndexArray);
for (int i = 0; i < nCount; i++)
{
int nIndex = pIndexArray[i];
// 处理选中项
}
delete[] pIndexArray;
}
```
在这个示例中,我们首先通过GetSelCount()函数获取选中项的数量,然后通过GetSelItems()函数获取选中项在ListBox中的索引。在获取到索引后,我们可以进行相应的操作。请注意,在使用完GetSelItems()函数后,需要手动释放返回的索引数组。
希望对你有所帮助!