cMessageMap 클래스
CMessageMap 은 개체의 메시지를 허용 하는 추상 기본 클래스는 다른 개체에 액세스할 수에 매핑됩니다. 메시지 맵을 노출 하는 개체에서 해당 클래스는 CMessageMap 에서 파생 되어야 합니다.
ATL CMessageMap 를 사용 하 여 포함 된 지원 windows 및 동적 메시지 맵 체인. 예를 들어, CContainedWindow 개체를 포함 하는 모든 클래스는 CMessageMap에서 파생 되어야 합니다. 다음 코드에서 가져온 것입니다 있는 SUBEDIT 샘플. CComControl, 통해는 CAtlEdit CMessageMap 에서 자동으로 파생。
cAtlEdit 클래스: 공용 CComControllt;CAtlEdit >,...
????????????? / / CComControl CWindowImpl에서 파생
????????????? / /는 Cmessagemap에서 파생
{
공개:
? / / 포함 된 창 데이터 멤버 선언
? CContainedWindow m_EditCtrl;
/ / 초기화 포함 된 창:
? // 1. 전달 되도록 지정 하려면 "편집"은 포함 된 / / 창 표준에 기반 한다 / / Windows 편집 상자
? // 2. 지정 하려면 'this'이 포인터에 전달 그 CAtlEdit / 메시지 맵을 사용할 수를 포함 하는 /는 / / 포함 된 창의 메시지 처리
? // 3. 메시지 맵의 식별자를 전달 합니다. 에서
? / /이 경우 '1' 식별 메시지 맵
? / / ALT_MSG_MAP(1)를 사용 하 여 선언
? CAtlEdit(): m_editctrl(_t("edit")이,이 1)
? {
???? m_bWindowOnly = 진정한;
? }
/ / 기본 메시지 맵을 선언
? BEGIN_MSG_MAP(CAtlEdit)
???? MESSAGE_HANDLER (WM_PAINT, OnPaint)
???? ...
? / / 대체 메시지 맵을 선언
? / / '1'에 의해 식별
? ALT_MSG_MAP(1)
???? MESSAGE_HANDLER (WM_CHAR, OnChar)
? END_MSG_MAP()
...
};
때문에 포함 된 창 m_EditCtrl , 메시지 맵을 사용 하 여 포함 하는 클래스에는 CAtlEdit CMessageMap 에서 파생。
메시지 맵에 대 한 자세한 내용은 문서의 "ATL 창 클래스." 메시지 맵 을 참조합니다
# include lt;atlwin.h>
참고 항목nbsp;CDynamicChain, BEGIN_MSG_MAP, ALT_MSG_MAP(&N)