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

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

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

4 ответов


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


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

Edit: как указывает аджрян,GetWindowText на самом деле не работы в CBN_SELCHANGE обработчик, потому что новый выбор вступил в силу, но текст окна не был обновлен с текстом нового выбора, когда WM_COMMAND отправлено.


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

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


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