Как я могу получить значение (строку) текущего выбора в поле со списком?
-
20-08-2019 - |
Вопрос
Как я могу получить значение (строку) текущего выбора в поле со списком?
(Не целочисленный индекс)
Решение
Возможно, есть лучший способ (мой MFC немного заржавел), но, похоже, вы сможете позвонить CComboBox::GetLBText()
, передав ему текущий выбор, используя CComboBox::GetCurSel()
.
Другие советы
Простой старый GetWindowText
тоже работает.
Редактировать: Как отмечает Аджриан, GetWindowText
на самом деле не делает работать в CBN_SELCHANGE
обработчик, поскольку новый выбор вступил в силу, но текст окна не был обновлен текстом нового выбора, когда WM_COMMAND
отправлено.
Используйте GetLBText, передав индекс и объект CString.
редактировать:слишком медленно!
CB_GETCURSEL
вернуть целочисленный индексCB_GETLBTEXT
возвращает строку по адресу CB_GETCURSEL