Когда пользователь выбирает кнопку, изменения своего состояния и кнопкой посылает сообщения уведомления родительского окна. Например элемент управления кнопка посылает сообщение уведомления BN_CLICKED всякий раз, когда пользователь выбирает кнопку. Во всех случаях младшее слово параметра wParam содержит идентификатор элемента управления, старшее слово wParam содержит код уведомления, и параметр lParam содержит дескриптор окна элемента управления.
Сообщение и ответ родительского окна зависит от типа, стиль и текущее состояние кнопки. Ниже перечислены кнопки уведомления сообщений, которые приложение должно контролировать и процесс.
Сообщение | Описание |
---|---|
BN_CLICKED | Пользователь нажал кнопку. |
BN_DBLCLK | Пользователь двойном щелчке кнопки. |
BN_DISABLE | Кнопка отключена. |
BN_PUSHED | Пользователь толкаемых кнопку. |
BN_KILLFOCUS | Кнопка потерял фокус клавиатуры. |
BN_PAINT | Кнопка должен быть окрашен. |
BN_SETFOCUS | Кнопка получил фокус клавиатуры. |
BN_UNPUSHED | Больше не нажата кнопка. |
Кнопка посылает BN_DISABLE, BN_PUSHED, BN_KILLFOCUS, BN_PAINT, BN_SETFOCUSи BN_UNPUSHED сообщений уведомления только, если стиль BS_NOTIFY. Он посылает сообщения уведомления о BN_CLICKED и BN_DBLCLK независимо от стиля BS_NOTIFY.
Для автоматического кнопок система изменяет состояние push и рисует кнопку. В этом случае приложение обычно обрабатывает только BN_CLICKED и BN_DBLCLK сообщений уведомления. Для кнопок, которые не являются автоматическим приложение обычно отвечает на сообщение уведомления, отправив сообщение для изменения состояния кнопки. Сведения об отправке сообщений к кнопкам содержатся в разделе сообщения для кнопок.
Когда пользователь выбирает кнопку, рисуемого владельцем, кнопка посылает родительского окна WM_DRAWITEM -сообщение, содержащее идентификатор элемента управления, чтобы извлечь и информация о его размеры и состояние. Для получения дополнительных сведений об этом сообщении отображаются Кнопки Using Owner-Drawn.