Compartir a través de


CMessageMap Class

Esta clase permite que los mapas de mensajes de un objeto tengan acceso al lado de otro objeto.

Importante

Esta clase y sus miembros no se pueden utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.

class ATL_NO_VTABLE CMessageMap

Members

Métodos públicos

Name

Descripción

CMessageMap::ProcessWindowMessage

Tiene acceso a un mensaje asignado en CMessageMap- clase derivada.

Comentarios

CMessageMap es una clase abstracta que permite que los mapas de mensajes de un objeto tengan acceso a ellos otro objeto. Para que un objeto exponer los mapas de mensajes, la clase debe derivar de CMessageMap.

Aplicaciones CMessageMap ATL de admitir las ventanas incluidas y el encadenamiento dinámico del mapa de mensajes. Por ejemplo, no se ordenan contener un objeto de CContainedWindow deben derivar de CMessageMap. El siguiente código se toma del ejemplo de SUBEDIT . Con CComControl, la clase de CAtlEdit automáticamente 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()

Dado que la ventana contenida, m_EditCtrl, utilizará un mensaje asignado en la clase contenedora, CAtlEdit deriva de CMessageMap.

Para obtener más información sobre asignación de mensajes, vea Mapas de mensajes en el artículo “clases de ventana ATL.”

Requisitos

encabezado: atlwin.h

Vea también

Referencia

CDynamicChain Class

BEGIN_MSG_MAP

ALT_MSG_MAP

Otros recursos

ATL Class Overview