为什么我无法在 CListBox 中获取所选项目?微晶

Why can't I get the selected items in the CListBox? MFC

本文关键字:选项 项目 微晶 获取 CListBox 为什么      更新时间:2023-10-16

我有一个带有CListBox的MFC对话框。我能够使用 CListBox::AddString 成功向其添加项目并使用 CListBox::SetItemDataPtr 设置数据指针。字符串显示在列表框中,我可以通过调用CListBox::GetItemDataPtr并传入静态索引来检索数据指针。我无法使用ClistBox::GetSelItems获取所选索引。我遵循了msdn上的示例:http://msdn.microsoft.com/en-us/library/ds24bscf.aspx,甚至尝试使用LPINT:

LPINT selItem = new int;
m_Lb_Avail_Cmnds.GetSelItems(1, selItem); //m_Lb_Avail_Cmnds is a CListBox
int i = *selItem;

但它始终返回 0,无论选择了哪个项目。

在单选列表框中(我猜您正在使用该列表框,因为您调用GetSelItems并将nMaxItems设置为 1 ),不支持GetSelItems。请改用GetCurSel

int i = m_Lb_Avail_Cmnds.GetCurSel();