флажок - изменить уведомление - PullRequest
6 голосов
/ 10 октября 2009

Какой код уведомления отправляется с сообщением wm_command в процедуру диалогового окна, когда флажок изменяет состояние?

И что еще более важно, где я мог бы найти в MSDN коды уведомлений для различных элементов управления?

Ответы [ 2 ]

6 голосов
/ 10 октября 2009

Обратите внимание, что флажки и радиокнопки являются кнопками. Таким образом, они отправляют сообщения о щелчках и двойных щелчках BN_CLICKED и BN_DOUBLECLICKED.

Если вы используете MFC, вы можете проверить состояние check с помощью метода CButton :: GetCheck . В противном случае вы отправляете сообщение BM_GETCHECK элементу управления: SendMessage(button_handle, BM_GETCHECK, 0, 0);

SendMessage может вернуть

  • BST_CHECKED Кнопка проверена.
  • BST_INDETERMINATE Кнопка отображается серым цветом, что указывает на неопределенное состояние (применяется только если кнопка имеет стиль BS_3STATE или BS_AUTO3STATE).
  • BST_UNCHECKED Кнопка очищена
  • Если кнопка имеет стиль, отличный от указанного в списке, возвращаемое значение равно нулю.

Если вы используете Visual Studio, самый простой способ получить список событий / сообщений, которые может отправлять элемент управления, - это перейти в представление Resource / Design, щелкнуть правой кнопкой мыши элемент управления и выбрать Events .

Список общих элементов управления см .: Библиотека элементов управления
(на странице вы увидите всплывающее меню с элементами управления, если навести курсор на ссылку Control Library )

2 голосов
/ 10 октября 2009

Это BN_CLICKED. Внизу страницы ссылки на кнопки сообщений.

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