Получить / установить текст поля со списком в Win32 (не MFC) - PullRequest
2 голосов
/ 25 июня 2010

Я могу использовать GetDlgItemText, чтобы получить текст из элемента управления, но я хочу отменить выбор, а SetDlgItemText(IDC_CTRL,_T("")); не работает. Какой здесь правильный подход?

Ответы [ 2 ]

3 голосов
/ 25 июня 2010

Предполагая, что я читаю документацию MSDN для полей со списком и право сообщения CB_SETCURSEL , вы можете отправить сообщение CB_SETCURSEL в поле со списком с помощью wParam (В данном случае это будет индекс строка в поле со списком) устанавливается в -1. Это должно затем очистить выбор.

Вы также можете использовать макрос ComboBox_SetCurSel , который оборачивает отправку сообщения, это может немного облегчить жизнь. Еще раз -1 очистит выбор.

Конечно, для этого вам понадобится получить дескриптор поля со списком, если у вас его нет (полагаю, у вас есть, но в случае, если у вас его нет), вы можете получить его, используя Функция GetDlgItem , предоставляя дескриптор для диалогового окна и идентификатор комбинированного окна.

1 голос
/ 25 июня 2010

Если вы используете чистый Win32 API, вы можете использовать макрос ComboBox_GetText для получения текста из элемента управления поля со списком ( ComboBox_SetText для установки текста).Чтобы получить строку из списка в поле со списком, используйте ComboBox_GetLBText .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...