다음을 통해 공유


BEGIN_MSG_MAP

기본 메시지 맵 시작 부분을 표시합니다.

BEGIN_MSG_MAP( theClass )

매개 변수

  • theClass
    [in] 메시지 맵을 포함 하는 클래스의 이름입니다.

설명

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

런타임에 다른 클래스의 기본 메시지 맵에 연결 합니다.

다음 매크로 "반영" 메시지를 상위 창에서 직접.예를 들어, 컨트롤 일반적으로 알림 메시지를 해당 부모 창에 대 한 처리를 보냅니다 있지만 부모 창 메시지를 컨트롤에 다시 반영 될 수 있습니다.

매크로

설명

REFLECTED_COMMAND_HANDLER

매핑되는 리플 렉 트 WM_COMMAND 메시지 처리기 함수를 알림 코드와의 메뉴 항목, 컨트롤 또는 액셀러레이터 키 식별자를 기반으로 합니다.

REFLECTED_COMMAND_ID_HANDLER

매핑되는 리플 렉 트 WM_COMMAND 메시지 처리기 함수를 메뉴 항목, 컨트롤 또는 액셀러레이터 키 식별자를 기반으로 합니다.

REFLECTED_COMMAND_CODE_HANDLER

매핑되는 리플 렉 트 WM_COMMAND 메시지 알림 코드에 따라 처리기 함수입니다.

REFLECTED_COMMAND_RANGE_HANDLER

매핑되는 리플 렉 트 WM_COMMAND 메시지 처리기 함수를 연속 된 범위의 컨트롤 식별자를 기반으로 합니다.

REFLECTED_COMMAND_RANGE_CODE_HANDLER

매핑되는 리플 렉 트 WM_COMMAND 메시지 처리기 함수를 알림 코드 및 연속 범위 컨트롤 식별자를 기반으로 합니다.

REFLECTED_NOTIFY_HANDLER

매핑되는 리플 렉 트 WM_NOTIFY 메시지 처리기 함수를 알림 코드 및 컨트롤 식별자를 기준으로 합니다.

REFLECTED_NOTIFY_ID_HANDLER

매핑되는 리플 렉 트 WM_NOTIFY 메시지 처리기 함수는 컨트롤 식별자를 기반으로 합니다.

REFLECTED_NOTIFY_CODE_HANDLER

매핑되는 리플 렉 트 WM_NOTIFY 메시지 알림 코드에 따라 처리기 함수입니다.

REFLECTED_NOTIFY_RANGE_HANDLER

매핑되는 리플 렉 트 WM_NOTIFY 메시지 처리기 함수를 연속 된 범위의 컨트롤 식별자를 기반으로 합니다.

REFLECTED_NOTIFY_RANGE_CODE_HANDLER

매핑되는 리플 렉 트 WM_NOTIFY 메시지 처리기 함수를 알림 코드 및 연속 범위 컨트롤 식별자를 기반으로 합니다.

예제

class CMyExtWindow : public CMyBaseWindow
{
public:
   BEGIN_MSG_MAP(CMyExtWindow)
      MESSAGE_HANDLER(WM_PAINT, OnPaint)
      MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
      CHAIN_MSG_MAP(CMyBaseWindow)
   END_MSG_MAP()

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

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

경우는 CMyExtWindow 개체를 받는 WM_PAINT 입니다 메시지, 메시지 전달에 CMyExtWindow::OnPaint 실제 처리에 대 한.경우 OnPaint 메시지에 필요한 추가 처리 한 메시지는 나타내는 다음 기본 메시지 맵에 연결 CMyBaseWindow.

기본 메시지 맵 외에 대체 메시지 맵을 사용을 정의할 수 있습니다 ALT_MSG_MAP.항상 메시지 맵을 시작 BEGIN_MSG_MAP.다음 후속 대체 메시지 맵을 선언할 수 있습니다.다음 예제에서는 기본 메시지 맵 및 처리기 함수에 포함 된 각 대체 메시지 맵을 보여 줍니다.

BEGIN_MSG_MAP(CMyOneAltClass)
   MESSAGE_HANDLER(WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()

다음 예제에서는 두 개의 대체 메시지 맵을 보여 줍니다.기본 메시지 맵은 비어 있습니다.

BEGIN_MSG_MAP(CMyClass)
ALT_MSG_MAP(1)
   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_MAPEND_MSG_MAP.

ATL에서는 메시지 맵을 사용 하는 방법에 대 한 자세한 내용은 메시지 맵.

요구 사항

헤더: atlwin.h

참고 항목

참조

CMessageMap 클래스

CDynamicChain 클래스

기타 리소스

메시지 맵 매크로 (ATL)

ATL 매크로