Classe CMessageMap

Esta classe permite a mensagem um objeto mapeia para ser acessado por outro objeto.

class ATL_NO_VTABLE CMessageMap

Comentários

CMessageMap é uma classe base abstrata que permite que mensagem um objeto mapeia para ser acessado por outro objeto. A fim de um objeto para expor seus mapas de mensagem, sua classe deve derivar de CMessageMap.

Usa o ATLCMessageMap para oferecer suporte a janelas contidas e encadeamento de MAP dinâmica de mensagem. Por exemplo, de qualquer classe que contém um CContainedWindow objeto deve derivar de CMessageMap. O código a seguir é tirado do SUBEDIT amostra.Por meio de CComControl, the CAtlEdit classe automaticamente deriva de CMessageMap.

class ATL_NO_VTABLE CAtlEdit :
   OtherInheritedClasses
   public CComControl<CAtlEdit>
   // CComControl derives from CWindowImpl, which derives from CMessageMap
{
public:
   // Declare a contained window data member
   CContainedWindow m_ctlEdit;

   // Initialize the contained window:
   // 1. Pass "Edit" to specify that the contained 
   //    window should be based on the standard 
   //    Windows Edit box
   // 2. Pass 'this' pointer to specify that CAtlEdit 
   //    contains the message map to be used for the 
   //    contained window's message processing
   // 3. Pass the identifier of the message map. '1'
   //    identifies the alternate message map declared
   //    with ALT_MSG_MAP(1)
   CAtlEdit()
      : m_ctlEdit(_T("Edit"), this, 1)
   {
      m_bWindowOnly = TRUE;
   }

// Declare the default message map, identified by '0'
BEGIN_MSG_MAP(CAtlEdit)
   MESSAGE_HANDLER(WM_CREATE, OnCreate)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
   CHAIN_MSG_MAP(CComControl<CAtlEdit>)
// Declare an alternate message map, identified by '1'
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_CHAR, OnChar)
END_MSG_MAP()

Como a janela contida, m_EditCtrl, usará um MAP da mensagem em classe recipiente, CAtlEdit deriva da CMessageMap.

Para obter mais informações sobre mapas de mensagem, consulte Mapas de mensagem no artigo "ATL janela Classes".

Requisitos

Cabeçalho: atlwin.h

Consulte também

Referência

Classe CDynamicChain

BEGIN_MSG_MAP

ALT_MSG_MAP

Outros recursos

CMessageMap membros

Visão geral do ATL classe