다음을 통해 공유


CDynamicChain 클래스

이 클래스의 메시지 맵을 동적 체인을 지 원하는 메서드를 제공 합니다.

중요중요

런타임에서 Windows를 실행 하는 응용 프로그램에서이 클래스와 해당 멤버를 사용할 수 없습니다.

class CDynamicChain

Members

kxaxdc7s.collapse_all(ko-kr,VS.110).gifPublic 생성자

Name

설명

CDynamicChain::CDynamicChain

생성자입니다.

CDynamicChain:: ~ CDynamicChain

소멸자

kxaxdc7s.collapse_all(ko-kr,VS.110).gifPublic 메서드

Name

설명

CDynamicChain::CallChain

다른 개체의 메시지 맵에 Windows 메시지를 보냅니다.

CDynamicChain::RemoveChainEntry

메시지 맵 항목 컬렉션에서 제거합니다.

CDynamicChain::SetChainEntry

메시지 맵 엔트리를 컬렉션에 추가 하거나 기존 항목을 수정 합니다.

설명

CDynamicChain컬렉션의 개체의 메시지 맵에 런타임에 전달 하는 Windows 메시지를 사용 하면 메시지 맵 관리 합니다.

동적 메시지 맵을의 체인에 대 한 지원을 추가 하려면 다음과 같이 하십시오.

  • 파생 클래스에서 CDynamicChain.메시지 맵에 지정 된 CHAIN_MSG_MAP_DYNAMIC 연결할 개체의 기본 메시지 맵 매크로.

  • 연결 하려는 모든 클래스 파생 CMessageMap.CMessageMap해당 메시지 맵을 다른 개체를 노출 하는 개체 수 있습니다.

  • 호출 CDynamicChain::SetChainEntry 개체와 메시지 맵을 체인으로 연결 하려는 식별 합니다.

예를 들어, 클래스는 다음과 같이 정의 되어 있다고 가정 합니다.

class CMyChainWnd : public CWindowImpl<CMyChainWnd>,
   public CDynamicChain
{
public:
   CMyChainWnd() {}

   BEGIN_MSG_MAP(CMyChainWnd)
      MESSAGE_HANDLER(WM_PAINT, OnPaint)
      MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
      // dynamically chain to the default
      // message map in another object
      CHAIN_MSG_MAP_DYNAMIC(1313)
                // '1313' identifies the object
                // and the message map that will be
                // chained to. '1313' is defined
                // through the SetChainEntry method
   END_MSG_MAP()

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

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

그런 다음 클라이언트 호출 CMyWindow::SetChainEntry.

myCtl.SetChainEntry(1313, &chainedObj);

위치 chainedObj 체인으로 연결 된 개체 및 파생 된 클래스의 인스턴스인 CMessageMap.이제 경우 myCtl 에서 처리 되지 않은 메시지가 OnPaint 또는 OnSetFocus, 창 프로시저에 보낼 chainedObj의 기본 메시지 맵.

메시지 맵 체인에 대 한 자세한 내용은 참조 하십시오. 메시지 맵 의 문서 "ATL 창 클래스"

요구 사항

헤더: atlwin.h

참고 항목

참조

CWindowImpl 클래스

기타 리소스

ATL 클래스 개요