Почему я не могу получить выбранные элементы в CListBox? MFC

У меня есть диалог MFC с CListBox на нем. Я могу успешно добавлять элементы к нему, используя 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 независимо от того, какой элемент выбран.

0

Решение

В списке с одним выбором (который, я полагаю, вы используете, потому что вы звоните GetSelItems с nMaxItems установлен в 1), GetSelItems не поддерживается. использование GetCurSel вместо:

int i = m_Lb_Avail_Cmnds.GetCurSel();
3

Другие решения