Схемы сообщений (MFC)
В этом разделе ссылки перечислены все макросы сопоставления сообщений и все CWnd
записи карты сообщений, а также соответствующие прототипы функций-членов:
Категория | Description |
---|---|
ON_COMMAND Обработчик сообщений |
WM_COMMAND Обрабатывает сообщения, созданные выбранными пользовательскими меню или ключами доступа к меню. |
Обработчики для уведомляющих сообщений дочернего окна | Обработка сообщений уведомлений из дочерних окон. |
WM_ Обработчики сообщений |
Обработка WM_ сообщений, таких как WM_PAINT . |
Определяемые пользователем обработчики сообщений | Обработка определяемых пользователем сообщений. |
(Описание терминологии и соглашений, используемых в этой ссылке, см. в разделе Как использовать перекрестную ссылку на карту сообщений.)
Так как Windows является операционной системой, ориентированной на сообщения, большая часть программирования для среды Windows включает обработку сообщений. Каждый раз, когда происходит событие, например нажатие клавиши или нажатие мыши, отправляется в приложение сообщение, которое затем должно обрабатывать событие.
Библиотека классов Microsoft Foundation предлагает модель программирования, оптимизированную для программирования на основе сообщений. В этой модели "карты сообщений" используются для обозначения функций, которые будут обрабатывать различные сообщения для определенного класса. Карты сообщений содержат один или несколько макросов, которые указывают, какие сообщения будут обрабатываться функциями. Например, карта сообщений, ON_COMMAND
содержащая макрос, может выглядеть примерно так:
BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
ON_COMMAND(ID_MYCMD, &CMyDoc::OnMyCommand)
END_MESSAGE_MAP()
Макрос ON_COMMAND
используется для обработки сообщений команд, созданных меню, кнопок и клавиш акселератора. Макросы доступны для сопоставления следующих элементов:
Сообщения Windows
Уведомления об управлении
Определяемые пользователем сообщения
Командные сообщения
Зарегистрированные пользовательские сообщения
Сообщения об обновлении пользовательского интерфейса
Диапазоны сообщений
Команды
Обновление сообщений обработчика
Уведомления об управлении
Хотя макросы карты сообщений важны, обычно их нельзя использовать напрямую. Это связано с тем, что мастер классов автоматически создает записи карты сообщений в исходных файлах при связывании функций обработки сообщений с сообщениями. В любое время, когда вы хотите изменить или добавить запись карты сообщений, можно использовать мастер классов.
Примечание.
Мастер классов не поддерживает диапазоны карты сообщений. Эти записи карты сообщений необходимо написать самостоятельно.
Однако карты сообщений являются важной частью библиотеки классов Microsoft Foundation. Вы должны понять, что они делают, и документация предоставляется для них.