다음을 통해 공유


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_MAPEND_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).

요구 사항

헤더: atlwin.h

참고 항목

참조

CHAIN_MSG_MAP

CHAIN_MSG_MAP_DYNAMIC

MESSAGE_HANDLER

기타 리소스

Message Map Macros (ATL)

ATL 매크로