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).
요구 사항
헤더: atlwin.h