Я пытаюсь настроить поле со списком, чтобы пользователь мог выбрать опцию из выпадающего меню, а затем получить то, что выбрал пользователь, используя Win32 API C ++, а не MFC. Я прочитал пост Джона здесь , и я не мог заставить что-либо работать. Я могу установить текст для поля со списком, но не могу получить то, что выбрал пользователь. Вот несколько методов, которые я попробовал:
LPTSTR buf;
ComboBox_GetText(hwnd, buf, 9);
MessageBox(NULL, buf, NULL, MB_OK);
И
char* buf;
GetDlgItemText(hwnd, IDC_COMBO1, buf, 9);
MessageBox(NULL, buf, NULL, MB_OK);
IDC_COMBO1
- это идентификатор поля со списком, а hwnd
- это HWND текущего диалогового окна.
Код моего диалогового окна с полем со списком:
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
IDD_DIALOG4 DIALOG 0, 0, 424, 181
STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "Ms Shell Dlg"
{
COMBOBOX IDC_COMBO1, 113, 31, 119, 19, CBS_DROPDOWN | CBS_HASSTRINGS
PUSHBUTTON "Button1", IDC_BUTTON1, 188, 112, 50, 14
}
Я использую файл ресурсов для этого. Заранее спасибо.