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


CHAIN_MSG_MAP_MEMBER

Определяет запись в сопоставлении сообщений.

CHAIN_MSG_MAP_MEMBER( theChainMember )

Параметры

  • theChainMember
    [in] Имя элемента данных, содержащей сопоставление сообщения.

Заметки

CHAIN_MSG_MAP_MEMBER направляет сообщения для сопоставления сообщений элемента данных по умолчанию (объявленный с BEGIN_MSG_MAP). Для направления сообщения к сообщению элемента данных другое сопоставление (объявленный с ALT_MSG_MAP), используйте CHAIN_MSG_MAP_ALT_MEMBER.

Примечание

Всегда начинайте сопоставления сообщения с BEGIN_MSG_MAP.Затем можно объявить последующие другие сопоставления сообщения с ALT_MSG_MAP.Макрос END_MSG_MAP отмечает конец сопоставления сообщения.Каждое сопоставление сообщения должно иметь ровно один экземпляр BEGIN_MSG_MAP и END_MSG_MAP.

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

Пример

class CMyContainerClass : public CWindowImpl<CMyContainerClass>
{
public:
   CMyContainedClass m_obj;

   BEGIN_MSG_MAP(CMyContainerClass)
      MESSAGE_HANDLER(WM_PAINT, OnPaint)
      // chain to default message map of m_obj
      CHAIN_MSG_MAP_MEMBER(m_obj)
   ALT_MSG_MAP(1)
      // chain to default message map of m_obj
      CHAIN_MSG_MAP_MEMBER(m_obj)
   ALT_MSG_MAP(2)
      MESSAGE_HANDLER(WM_CHAR, OnChar)
      // chain to alternate message map of m_obj
      CHAIN_MSG_MAP_ALT_MEMBER(m_obj, 1)
   END_MSG_MAP()

   LRESULT OnPaint(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/)
   {
      return 0;   
   }
   LRESULT OnChar(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/)
   {
      return 0;   
   }
};

Этот пример иллюстрирует следующее:

  • Если процедура окна сообщения использует карту сообщений по умолчанию CMyClass и OnPaint не обрабатывает сообщения, то производится его маршрутизация к сопоставлению сообщения по умолчанию m_obj для обработки.

  • Если процедура окна используется первое другое сопоставление сообщения в CMyClass, все сообщения направляются к сопоставлению сообщения по умолчанию m_obj.

  • Если процедура окна использует второй другое сопоставление сообщения CMyClass и OnChar не обрабатывает сообщение, то производится его маршрутизация к определенному другой сопоставления сообщения m_obj. Класс CMyContainedClass должен объявлять это сопоставление сообщений с ALT_MSG_MAP(1).

Требования

Header: atlwin.h

См. также

Ссылки

CHAIN_MSG_MAP

CHAIN_MSG_MAP_DYNAMIC

MESSAGE_HANDLER

Другие ресурсы

Message Map Macros (ATL)

Макросы ATL