Как получить значение (строку) текущего выделения в поле со списком?
Как я могу получить значение (строку) текущего выделения в выпадающем списке?
(Не целочисленный индекс)
Ответ 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