winapi — Win32 C ++ получает текст из элементов

Хотя этот вопрос, вероятно, задавался тысячу раз раньше (я уверен, что прочитал тысячу ответов). Я до сих пор не понимаю.

Допустим, у меня есть функция, которая создает ComboBox следующим образом:

  scopeComboSelector=CreateCombobox(hwnd,
GetModuleHandle(0),
CBS_DROPDOWNLIST,
re,
IDCC_DROPDOWNLIST_SCOPE_SELECTOR,
_T("Scopes"));

Где «re» является позиционирующим прямоугольником. И IDCC_DROPDOWNLIST_SCOPE_SELECTOR (довольно длинное имя) является идентификатором комбинированного списка. Теперь дело в том, что я действительно могу заполнить этот «выпадающий список выбора», но я понятия не имею, как просто получить текущее выбранное значение в виде строки.

Я видел около 10 способов сделать это, которые все сразу дают ошибки (нужно конвертировать в LPWSTR -> исправление результатов в большем количестве террора).

Может быть, я просто привык к Java, где можно просто сказать:

 textfield.getText();

Как достичь этого в Win32 C ++ (Microsoft Visual Studio)?

редактировать

Код, который я использовал:

  char userName[_MAX_PATH+1];
GetDlgItemTextW(scopeComboSelector,
IDCC_DROPDOWNLIST_SCOPE_SELECTOR,
(LPWSTR)userName,
200);

Возвращает: userName == пусто

Обновить

Теперь с помощью: GetDlgItemText (). Отладчик сообщает мне значение userName = «»

0

Решение

документация имеет пример кода Windows 9x в стиле C

Вам нужно просто заменить C на C ++ и глупые T-макросы Windows 9x на wchar_t и друзья.

Всегда хорошая идея прочитать документацию.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]