BEGIN_MSG_MAP
기본 메시지 맵 시작 부분을 표시합니다.
BEGIN_MSG_MAP( theClass )
매개 변수
- theClass
[in] 메시지 맵을 포함 하는 클래스의 이름입니다.
설명
CWindowImpl::WindowProc 기본 메시지 맵을 사용 하 여 창에 보내는 메시지를 처리 합니다.메시지 맵 적절 한 처리기 함수 또는 다른 메시지 맵과 메시지를 보냅니다.
다음 매크로 메시지를 처리기 함수에 매핑합니다.이 함수에서 정의 해야 theClass.
매크로 |
설명 |
---|---|
Windows 메시지를 처리기 함수에 매핑합니다. |
|
인접 한 Windows 메시지를 처리기 함수에 매핑합니다. |
|
지도 WM_COMMAND 메시지 처리기 함수를 알림 코드와의 메뉴 항목, 컨트롤 또는 액셀러레이터 키 식별자를 기반으로 합니다. |
|
지도 WM_COMMAND 메시지 처리기 함수를 메뉴 항목, 컨트롤 또는 액셀러레이터 키 식별자를 기반으로 합니다. |
|
지도 WM_COMMAND 메시지 알림 코드에 따라 처리기 함수입니다. |
|
인접 한 범위의 맵 WM_COMMAND 메시지 처리기 함수를 메뉴 항목, 컨트롤 또는 액셀러레이터 키 식별자를 기반으로 합니다. |
|
지도 WM_NOTIFY 메시지 처리기 함수를 알림 코드 및 컨트롤 식별자를 기준으로 합니다. |
|
지도 WM_NOTIFY 메시지 처리기 함수는 컨트롤 식별자를 기반으로 합니다. |
|
지도 WM_NOTIFY 메시지 알림 코드에 따라 처리기 함수입니다. |
|
인접 한 범위의 맵 WM_NOTIFY 메시지 처리기 함수에 컨트롤 식별자를 기반으로 합니다. |
다음 매크로 메시지를 다른 메시지 맵 직접.이 프로세스를 "체인" 이라고
매크로 |
설명 |
---|---|
기본 메시지 맵 클래스에 연결 합니다. |
|
체인에는 기본 메시지 클래스의 데이터 멤버에 매핑됩니다. |
|
기본 클래스에는 대체 메시지 맵 연결 합니다. |
|
체인을 대체 메시지 클래스의 데이터 멤버에 매핑됩니다. |
|
런타임에 다른 클래스의 기본 메시지 맵에 연결 합니다. |
다음 매크로 "반영" 메시지를 상위 창에서 직접.예를 들어, 컨트롤 일반적으로 알림 메시지를 해당 부모 창에 대 한 처리를 보냅니다 있지만 부모 창 메시지를 컨트롤에 다시 반영 될 수 있습니다.
매크로 |
설명 |
---|---|
매핑되는 리플 렉 트 WM_COMMAND 메시지 처리기 함수를 알림 코드와의 메뉴 항목, 컨트롤 또는 액셀러레이터 키 식별자를 기반으로 합니다. |
|
매핑되는 리플 렉 트 WM_COMMAND 메시지 처리기 함수를 메뉴 항목, 컨트롤 또는 액셀러레이터 키 식별자를 기반으로 합니다. |
|
매핑되는 리플 렉 트 WM_COMMAND 메시지 알림 코드에 따라 처리기 함수입니다. |
|
매핑되는 리플 렉 트 WM_COMMAND 메시지 처리기 함수를 연속 된 범위의 컨트롤 식별자를 기반으로 합니다. |
|
매핑되는 리플 렉 트 WM_COMMAND 메시지 처리기 함수를 알림 코드 및 연속 범위 컨트롤 식별자를 기반으로 합니다. |
|
매핑되는 리플 렉 트 WM_NOTIFY 메시지 처리기 함수를 알림 코드 및 컨트롤 식별자를 기준으로 합니다. |
|
매핑되는 리플 렉 트 WM_NOTIFY 메시지 처리기 함수는 컨트롤 식별자를 기반으로 합니다. |
|
매핑되는 리플 렉 트 WM_NOTIFY 메시지 알림 코드에 따라 처리기 함수입니다. |
|
매핑되는 리플 렉 트 WM_NOTIFY 메시지 처리기 함수를 연속 된 범위의 컨트롤 식별자를 기반으로 합니다. |
|
매핑되는 리플 렉 트 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_MAP 및 END_MSG_MAP.
ATL에서는 메시지 맵을 사용 하는 방법에 대 한 자세한 내용은 메시지 맵.
요구 사항
헤더: atlwin.h