Classe di CMessageMap
Questa classe consente delle mappe dei messaggi di un oggetto siano di accesso da un altro oggetto.
Importante |
---|
Questa classe e i relativi membri non possono essere utilizzati nelle applicazioni eseguite in Windows Runtime. |
class ATL_NO_VTABLE CMessageMap
Membri
Metodi pubblici
Nome |
Descrizione |
---|---|
Accede a una mappa messaggi in CMessageMapclasse derivata da. |
Note
CMessageMap è una classe base astratta che consente le mappe messaggi di un oggetto per accedere da un altro oggetto.Affinché un oggetto di esporre le mappe messaggi, la classe deve derivare da CMessageMap.
ATL utilizza CMessageMap per supportare le finestre contenute e concatenare dinamico della mappa messaggi.Ad esempio, qualsiasi classe contenere un oggetto CContainedWindow derivino da CMessageMap.Il codice seguente viene ricavato dall'esempio Esempio SUBEDIT.Con CComControl, la classe CAtlEdit automaticamente deriva da 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()
Poiché la finestra contenuto, m_EditCtrl, utilizzerà una mappa messaggi nella classe contenitore, CAtlEdit deriva da CMessageMap.
Per ulteriori informazioni sulle mappe messaggi, vedere Mappe messaggi nell'articolo "classi di finestre di ATL."
Requisiti
Header: atlwin.h