Clase de CMessageMap
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 |
---|---|
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