为什么我无法在CListBox 中获取选中的项目?多功能控制器
Why can't I get the selected items in the CListBox? MFC
我有一个带有 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();
我有一个带有 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();