A поле со списком уведомляет своего родителя об изменениях в выборе, отправляя сообщение CBN_SELCHANGE .Вы можете получить текущий выбранный индекс предмета, отправив сообщение CB_GETCURSEL .Текст элемента можно получить, отправив сообщение CB_GETLBTEXT :
case WM_COMMAND:
switch(HIWORD(wParam))
{
case CBN_SELCHANGE:
{
HWND const control{ (HWND)lParam };
int const index{ ::SendMessage(control, CB_GETCURSEL, nullptr, nullptr) };
if (index == CB_ERR)
{
// Handle error
return 0;
}
// [optional] Retrieve text of selected item
int const len{ (int)::SendMessage(control, CB_GETLBTEXTLEN, (WPARAM)index, nullptr) };
if (len == CB_ERR)
{
// Handle error
return 0;
}
std::vector<wchar_t> buffer(len + 1);
::SendMessageW(control, CB_GETLBTEXT, (WPARAM)index, (LPARAM)buffer.data());
return 0;
}
case default:
break;
}
break;