CMessageMap-Klasse
Diese Klasse ermöglicht den Meldungszuordnungen eines Objekts, um den Zugriff von einem anderen Objekt ist.
Wichtig |
---|
Diese Klasse und ihre Member können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen. |
class ATL_NO_VTABLE CMessageMap
Mitglieder
Öffentliche Methoden
Name |
Description |
---|---|
Greift auf eine Meldungszuordnung in CMessageMap von abgeleiteten Klasse in. |
Hinweise
CMessageMap ist eine abstrakte Basisklasse, die auf die von einem anderen Objekt kann zugegriffen werden, Meldungszuordnungen eines Objekts.Damit ein Objekt seine Meldungszuordnungen, seine Klasse muss von CMessageMap berechnen verfügbar macht.
ATL verwendet CMessageMap, um enthaltende Fenster und dynamische Meldungszuordnungsverketten zu unterstützen.Beispielsweise Klasse alle Manifestfragmenten CContainedWindow eines Objekts müssen von CMessageMap berechnen.Der folgende Code wird vom STELLEN Sie auf Beispiel aufgezeichnet.Durch CComControl berechnet die CAtlEdit-Klasse automatisch von 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()
Da das enthaltende Fenster, m_EditCtrl, eine Meldungszuordnung im enthaltenden Klasse verwendet, berechnet CAtlEdit von CMessageMap.
Weitere Informationen zu Meldungszuordnungen, Meldungszuordnungen finden Sie im Artikel "ATL-Fensterklassen."
Anforderungen
Header: atlwin.h