Amre
Amre

Reputation: 1680

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

I have an MFC dialog with a CListBox on it. I'm able to successfully add items to it using CListBox::AddString and set data pointers using CListBox::SetItemDataPtr. The strings show in the listbox and I can retrieve the data pointers by calling CListBox::GetItemDataPtr and passing in a static index. I'm not able to the get the selected index using ClistBox::GetSelItems. I followed the example on msdn: http://msdn.microsoft.com/en-us/library/ds24bscf.aspx and even tried using LPINT:

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

But it's always returning 0 despite which item is selected.

Upvotes: 1

Views: 1377

Answers (1)

Wintermute
Wintermute

Reputation: 44073

In a single-selection listbox (that I am guessing you're using because you call GetSelItems with nMaxItems set to 1), GetSelItems is not supported. Use GetCurSel instead:

int i = m_Lb_Avail_Cmnds.GetCurSel();

Upvotes: 4

Related Questions