为什么我无法在CListBox中获取所选项? MFC

时间:2015-01-06 16:25:34

标签: c++ mfc clistbox

我有一个带有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。

1 个答案:

答案 0 :(得分:3)

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

int i = m_Lb_Avail_Cmnds.GetCurSel();