Сообщение WM_COMMAND  в диалоговых окнах


Орган управления может отправить в процедуру диалогового окна сообщение WM_COMMAND, когда пользователь выполняет действия с ним. Эти сообщения, называемые уведомительными сообщениями, информируют процедуру ввода данных пользователем и разрешают ей выполнять соответствующие ответные действия.

Все предопределенные органы управления, кроме статических, отправляют уведомительные сообщения о выбранных пользователем действиях. Например, командная кнопка отправляет уведомительное сообщение BN_CLICKED всякий раз, когда пользователь щелкает по ней. Во всех случаях, младшее слово параметра wParam содержит идентификатор органа управления, старшее слово wParam содержит код уведомления, а параметр lParam содержит дескриптор окна органа управления.

Процедура диалогового окна должна осуществлять текущий контроль и обрабатывать уведомительные сообщения. В частности, процедура должна обрабатывать сообщения, имеющие идентификаторы IDOK или IDCANCEL; эти сообщения обозначают запрос пользователя на закрытие диалогового окна. Процедура должна закрыть блок диалога, используя функцию EndDialog для модальных диалоговых окон, а функцию DestroyWindow для немодальных диалоговых окон.

Система также отправляет сообщения WM_COMMAND и процедуре диалогового окна, если блок диалога имеет меню, такое как системное, а пользователь щелкает по пункту меню. В частности, система отправляет сообщение WM_COMMAND с установкой параметра wParam в значение IDCANCEL всякий раз, когда пользователь щелкает по пункту Закрыть (Close) в системном меню диалогового окна. Это сообщение почти идентично уведомительному сообщению, отправляемому кнопкой Отменить (Cancel) и должно обрабатываться точно таким же способом.

 

Назад в оглавление
На главную страницу

Hosted by uCoz