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

StackOverflow https://stackoverflow.com/questions/481255

  •  20-08-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

Другие советы

Простой старый GetWindowText тоже работает.

Редактировать: Как отмечает Аджриан, GetWindowText на самом деле не делает работать в CBN_SELCHANGE обработчик, поскольку новый выбор вступил в силу, но текст окна не был обновлен текстом нового выбора, когда WM_COMMAND отправлено.

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

редактировать:слишком медленно!

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top