在MFC中,ListBox控件可以通过设置其属性为LBS_MULTIPLESEL来实现多选功能。以下是一个示例代码来实现ListBox的多选功能:
-
首先,在对话框资源中添加一个ListBox控件,并设置其属性为LBS_MULTIPLESEL。
-
在对话框类的头文件中声明一个成员变量来引用ListBox控件:
CListBox m_ListBox;
- 在OnInitDialog()函数中添加以下代码来关联成员变量和ListBox控件:
m_ListBox.SubclassDlgItem(IDC_LISTBOX, this);
- 可以使用以下代码来获取ListBox的选中项:
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()函数后,需要手动释放返回的索引数组。
希望对你有所帮助!