Как получить значение (строку) текущего выделения в поле со списком?

Как я могу получить значение (строку) текущего выделения в выпадающем списке?

(Не целочисленный индекс)

Ответы

Ответ 1

Может быть, лучший способ (мой MFC немного ржавый), но кажется, что вы должны иметь возможность называть CComboBox::GetLBText(), передавая ему текущий выбор, используя CComboBox::GetCurSel().

Ответ 2

Также работает обычный старый GetWindowText.

Изменить: Как указывает ajryan, GetWindowText фактически не работает в обработчике CBN_SELCHANGE, поскольку новый выбор вступил в силу, но текст окна не был обновлен с помощью текст нового выбора при отправке WM_COMMAND.

Ответ 3

Используйте GetLBText, передавая в индекс и объект CString.

edit: слишком медленно!

Ответ 4

CB_GETCURSEL возвращает целочисленный индекс CB_GETLBTEXT возвращает строку в CB_GETCURSEL