BEGIN_MSG_MAP

BEGIN_MSG_MAP ( theClass )

Параметры

theClass

[в] Имя класса, содержащего схеме сообщений.

Примечания

Отмечает начало схеме сообщений по умолчанию. CWindowImpl::WindowProc использует схеме сообщений по умолчанию для обработки сообщений, направленных в окно. Схема сообщений направляет сообщения в соответствующий обработчик функцию или в другой схеме сообщений.

Следующие макросы сопоставить сообщение функции обработчика. Эта функция должна быть определена в theClass.

Макрос Описание
MESSAGE_HANDLER Сопоставляет сообщение Windows функции обработчика.
MESSAGE_RANGE_HANDLER Сопоставляет сообщения непрерывный диапазон Windows функции обработчика.
COMMAND_HANDLER Сопоставляет сообщения WM_COMMAND функции обработчика, основанный на код уведомления и идентификатор элемента меню, контроля или ускоритель.
COMMAND_ID_HANDLER Сопоставляет сообщения WM_COMMAND функции обработчика, основанный на идентификатор элемента меню, контроля или ускоритель.
COMMAND_CODE_HANDLER Сопоставляет сообщения WM_COMMAND функции обработчика, основанный на код уведомления.
COMMAND_RANGE_HANDLER Сопоставляет непрерывный диапазон сообщений WM_COMMAND функции обработчика, основанный на идентификатор элемента меню, контроля или ускоритель.
NOTIFY_HANDLER Сопоставляет сообщение WM_NOTIFY функцию обработчика, основанный на код уведомления и идентификатор элемента управления.
NOTIFY_ID_HANDLER Сопоставляет сообщение WM_NOTIFY функцию обработчика, основанный на идентификатор элемента управления.
NOTIFY_CODE_HANDLER Сопоставляет сообщение WM_NOTIFY функцию обработчика, основанный на код уведомления.
NOTIFY_RANGE_HANDLER Сопоставляет непрерывный спектр WM_NOTIFY сообщений функции обработчика, основанный на идентификатор элемента управления.

Следующие макросы направить сообщение в другой схеме сообщений. Этот процесс называют «цепочки».

Макрос Описание
CHAIN_MSG_MAP Цепи в схеме сообщений по умолчанию в базовом классе.
CHAIN_MSG_MAP_MEMBER Цепи в схеме сообщений по умолчанию в член данных класса.
CHAIN_MSG_MAP_ALT Цепи для альтернативного сообщений карту в базовом классе.
CHAIN_MSG_MAP_ALT_MEMBER Цепи для альтернативного сообщений карту в член данных класса.
CHAIN_MSG_MAP_DYNAMIC Цепи в схеме сообщений по умолчанию в другом классе во время выполнения.

Пример

класс CMyWindow:...
{
общественности:
 nbsp; ...

BEGIN_MSG_MAP(CMyWindow)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
      CHAIN_MSG_MAP(CMyBaseWindow)
   END_MSG_MAP()

LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
   { ... }

LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
   { ... }
}

Когда CMyWindow объект получает WM_PAINT , сообщение направлено сообщение CMyWindow::OnPaint для фактической обработки. Если OnPaint указывает сообщение требует дальнейшей обработки, сообщение будет затем направляться в схеме сообщений по умолчанию вCMyBaseWindow.

В дополнение к схеме сообщений по умолчанию можно определить альтернативной схеме сообщений с ALT_MSG_MAP. Всегда начинаются сообщений карту с BEGIN_MSG_MAP. Затем можно объявить последующие сообщения альтернативные карты. В следующем примере показано схеме сообщений по умолчанию и одной альтернативной схеме сообщений, каждый из которых содержит одну функцию обработчика по умолчанию:

BEGI&N_MSG_MAP(CMyClass)
 nbsp; MESSAGE_HANDLER (WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()

В следующем примере показаны две альтернативные сообщение карты. В схеме сообщений по умолчанию является пустым.

BEGI&N_MSG_MAP(CMyClass)
ALT_MSG_MAP(1)
 nbsp; MESSAGE_HANDLER (WM_PAINT, OnPaint)
   MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
ALT_MSG_MAP(2)
   MESSAGE_HANDLER (WM_CREATE, OnCreate)
END_MSG_MAP()

Макрос END_MSG_MAP знаменует конец схеме сообщений. Обратите внимание, что всегда существует только один экземпляр BEGIN_MSG_MAP и END_MSG_MAP.

Дополнительные сведения об использовании схемы сообщений в ATL Отображает сообщение в разделе статьи "Окно классов ATL."

Глобальные функции и макросы ATL

Родственные слова

CMessageMap, CDynamicChain

Index