Поделиться через


Схемы сообщений (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. Вы должны понять, что они делают, и документация предоставляется для них.

См. также

Структуры, стили, обратные вызовы и схемы сообщений