BEGIN_MSG_MAP

BEGIN_MSG_MAP ( 클래스 )

매개 변수

클래스

[in] 메시지 맵을 포함 하는 클래스의 이름。

주의

기본 메시지 맵의 시작을 표시 합니다. CWindowImpl::WindowProc 창에 보낸 메시지를 처리 하려면 기본 메시지 맵을 사용 합니다. 메시지 맵에 지시 메시지 적절 한 처리기 함수 또는 다른 메시지 맵。

다음 매크로 메시지를 처리기 함수에 매핑합니다. 이 함수는 클래스 에 정의 되어야 합니다.

매크로 설명
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함께 메시지 맵을 시작 합니다. 그런 다음 후속 대체 메시지 맵을 선언할 수 있습니다. 다음 예제에서는 기본 메시지 맵과 하나의 대체 메시지 맵을 각각 하나의 처리기 함수를 포함 하:

BEGIN_MSG_MAP(CMyClass)
 nbsp; 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)
 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