MFC: Командные сообщения

Сообщения, генерируемые объектами пользовательского интерфейса, называют командными. Библиотека MFC обеспечивает обработку таких сообщений для поддерживаемых ею объектов. К ним относятся меню, комбинации клавиш, кнопки панелей инструментов, строки состояния, элементы управления диалоговых окон. (Термин «объект» в данном случае относится не к объектам языка С++.)

Каждый раз, когда пользователь выбирает объект интерфейса или когда один из этих объектов необходимо обновить, объект передает главному окну командное сообщение. Однако библиотека MFC сразу направляет сообщение объекту окна представления. Если он не имеет нужного обработчика, библиотека MFC посылает сообщение объекту документа. Однако если и у него обработчик отсутствует, сообщение направляется объекту главного окна программы. При условии, что главное окно также не располагает обработчиком, сообщение направляется объекту приложения. Наконец, если и он не обеспечивает обработку, сообщение обрабатывается стандартным способом.

Таким образом, библиотека MFC расширяет базовый механизм сообщений и позволяет обрабатывать командные сообщения не только объектам, которые управляют окнами, но и другим объектам приложения. Каждый из них принадлежит классу, прямо или косвенно порожденному от класса CCmdTarget, реализующего механизм передачи сообщений.

В данном случае важно, что программа может обрабатывать сообщение внутри наиболее подходящего для этого класса. Например, в программе, созданной мастером MFC Application Wizard, команда Exit из меню File обрабатывается классом приложения, поскольку она воздействует на приложение в целом, а команда Save из того же меню — классом документа, так как этот класс отвечает за хранение и запись данных документа.


Пожалуй одна из самых известных переводческих компаний Прима Виста сегодня увеличила кол-во языков, с которыми они работают. Новым языком оказался Кхмерский язык, который сейчас востребован в нефтегазовой работе.


Интересные записи

Написать комментарий