logo
Конспект по ООПиП ч

Некоторые макросы карты сообщений

Макросы BEGIN_MESSAGE_MAP и END_MESSAGE_MAP, так же как DECLARE_MESSAGE_MAP в файле заголовка, объявляют члены (переменные и функции), которые программа должна исп-ть для того, чтобы разобраться в картах всех объектов сис-мы.Сущ-т довольно большой набор макросов, исп-х для работы с картой сообщ-й. Некот-е из них перечислены ниже.

•DECLARE_MESSAGE_MAP. Используется в файле заголовка для того, чтобы объявить, что в файл собственно текста программы будет включена карта сообщений.

•BEGIN_MESSAGE_MAP. Отмечает начало карты сообщений в тексте программы.

•END_MESSAGE_MAP. Отмечает конец карты сообщений в тексте программы.

• ON_COMMAND. Используется для того, чтобы перенаправить обработку некоторой команды функции-члену класса.

•ON_CONTROL. Используется, для того, чтобы перенаправить обработку кода извещения от элемента управления, введенного программистом, функции-члену класса.

•ON_MESSAGE. Используется для того, чтобы перенаправить обработку некоторого сообщения, введенного программистом, функции-члену класса.

•ON_UPDATE_COMMAND_UI. Используется для того, чтобы перенаправить обновление, связанное с заданной командой, функции-члену класса.

•ON_NOTIFY. Используется для того, чтобы перенаправить функции-члену класса обработку заданного кода извещения, который сопровождается дополнительными данными от элемента управления.

Таким образом, если вы включаете в программу некоторый компонент карты сообщений и, когда такое сообщение возникает, происходит следующее. Функции, вызванные скрытым от вас циклом обработки сообщений, решают на основании этой таблицы, какой из объектов и какая из функций-членов этого объекта будет обрабатывать сообщение.