BEGIN_MSG_MAP

Markiert den Beginn der Standardmeldungszuordnung.

BEGIN_MSG_MAP( theClass )

Parameter

  • theClass
    [in] Der Name der Klasse, die die Meldungszuordnung enthält.

Hinweise

CWindowImpl::WindowProc verwendet die Standardmeldungszuordnung, um Nachrichten zu verarbeiten, die an das Fenster gesendet werden.Die Meldungszuordnung verweist Meldungen entweder auf die entsprechende Handlerfunktion oder auf eine andere Meldungszuordnung.

Die folgenden Makros ordnen eine Meldung an eine Handlerfunktion zu.Diese Funktion muss in theClass definiert werden.

Makro

Description

MESSAGE_HANDLER

Ordnet eine Windows-Meldung auf eine Handlerfunktion zu.

MESSAGE_RANGE_HANDLER

Ordnet einen zusammenhängenden Bereich von Windows-Meldungen auf eine Handlerfunktion zu.

COMMAND_HANDLER

Ordnet eine WM_COMMAND Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode und den Bezeichner des Menüelements, des Steuerelements oder der Zugriffstaste zu.

COMMAND_ID_HANDLER

Ordnet eine WM_COMMAND Meldung an eine Handlerfunktion, basierend auf den Bezeichner des Menüelements, des Steuerelements oder der Zugriffstaste zu.

COMMAND_CODE_HANDLER

Ordnet eine WM_COMMAND Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode zu.

COMMAND_RANGE_HANDLER

Ordnet einen zusammenhängenden Bereich von WM_COMMAND Meldungen an eine Handlerfunktion, basierend auf den Bezeichner des Menüelements, des Steuerelements oder der Zugriffstaste zu.

NOTIFY_HANDLER

Ordnet eine WM_NOTIFY Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode und das Steuerelement-ID zu.

NOTIFY_ID_HANDLER

Ordnet eine WM_NOTIFY Meldung an eine Handlerfunktion, auf Grundlage des Steuerelement-ID zu.

NOTIFY_CODE_HANDLER

Ordnet eine WM_NOTIFY Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode zu.

NOTIFY_RANGE_HANDLER

Ordnet einen zusammenhängenden Bereich von WM_NOTIFY Meldungen an eine Handlerfunktion, auf Grundlage des Steuerelement-ID zu.

Die folgenden Makros verweisen Meldungen auf eine andere Meldungszuordnung.Dieser Prozess wird aufgerufen "Verketten."

Makro

Description

CHAIN_MSG_MAP

Ketten zur Standardmeldungszuordnung in der Basisklasse.

CHAIN_MSG_MAP_MEMBER

Ketten zur Standardmeldungszuordnung in einem Datenmember der Klasse.

CHAIN_MSG_MAP_ALT

Ketten zu einer anderen Meldungszuordnung in der Basisklasse.

CHAIN_MSG_MAP_ALT_MEMBER

Ketten zu einer anderen Meldungszuordnung in einem Datenmember der Klasse.

CHAIN_MSG_MAP_DYNAMIC

Ketten zur Standardmeldungszuordnung in einer anderen Klasse zur Laufzeit.

Die folgenden Makros verweisen "" reflektierte Meldungen aus dem übergeordneten Fenster.Beispielsweise sendet ein Steuerelement üblicherweise Benachrichtigungsmeldungen an das übergeordnete Fenster zur Verarbeitung, aber das übergeordnete Fenster kann die Nachricht wieder dem Steuerelement entsprechen.

Makro

Description

REFLECTED_COMMAND_HANDLER

Ordnet eine WM_COMMAND reflektierte Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode und den Bezeichner des Menüelements, des Steuerelements oder der Zugriffstaste zu.

REFLECTED_COMMAND_ID_HANDLER

Ordnet eine WM_COMMAND reflektierte Meldung an eine Handlerfunktion, basierend auf den Bezeichner des Menüelements, des Steuerelements oder der Zugriffstaste zu.

REFLECTED_COMMAND_CODE_HANDLER

Ordnet eine WM_COMMAND reflektierte Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode zu.

REFLECTED_COMMAND_RANGE_HANDLER

Ordnet eine WM_COMMAND reflektierte Meldung an eine Handlerfunktion, basierend auf einem zusammenhängenden Bereich von Steuerelement-ID zu.

REFLECTED_COMMAND_RANGE_CODE_HANDLER

Ordnet eine WM_COMMAND reflektierte Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode und einen zusammenhängenden Bereich von Steuerelement-ID zu.

REFLECTED_NOTIFY_HANDLER

Ordnet eine WM_NOTIFY reflektierte Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode und das Steuerelement-ID zu.

REFLECTED_NOTIFY_ID_HANDLER

Ordnet eine WM_NOTIFY reflektierte Meldung an eine Handlerfunktion, auf Grundlage des Steuerelement-ID zu.

REFLECTED_NOTIFY_CODE_HANDLER

Ordnet eine WM_NOTIFY reflektierte Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode zu.

REFLECTED_NOTIFY_RANGE_HANDLER

Ordnet eine WM_NOTIFY reflektierte Meldung an eine Handlerfunktion, basierend auf einem zusammenhängenden Bereich von Steuerelement-ID zu.

REFLECTED_NOTIFY_RANGE_CODE_HANDLER

Ordnet eine WM_NOTIFY reflektierte Meldung an eine Handlerfunktion, abhängig vom Benachrichtigungscode und einen zusammenhängenden Bereich von Steuerelement-ID zu.

Beispiel

class CMyExtWindow : public CMyBaseWindow
{
public:
   BEGIN_MSG_MAP(CMyExtWindow)
      MESSAGE_HANDLER(WM_PAINT, OnPaint)
      MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
      CHAIN_MSG_MAP(CMyBaseWindow)
   END_MSG_MAP()

   LRESULT OnPaint(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/)
   {
      return 0;   
   }

   LRESULT OnSetFocus(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/) 
   {
      return 0;   
   }
};

Wenn ein CMyExtWindow-Objekt eine WM_PAINT Meldung empfängt, wird die Meldung auf CMyExtWindow::OnPaint für das tatsächliche Verarbeitung verwiesen.Wenn OnPaint angibt, benötigt die Meldung verarbeiten, die Meldung wird dann verwiesen auf die Standardmeldungszuordnung in CMyBaseWindow.

Neben der Standardmeldungszuordnung können Sie eine alternative Meldungszuordnung mit ALT_MSG_MAP definieren.Starten Sie immer eine Meldungszuordnung mit BEGIN_MSG_MAP.Sie können folgende alternative Meldungszuordnungen deklarieren.Im folgenden Beispiel wird die Standardmeldungszuordnung und eine alternative Meldungszuordnung, enthaltender eine Handlerfunktion an:

BEGIN_MSG_MAP(CMyOneAltClass)
   MESSAGE_HANDLER(WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()

Im folgenden Beispiel werden zwei alternative Meldungszuordnungen an.Die Standardmeldungszuordnung ist leer.

BEGIN_MSG_MAP(CMyClass)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_PAINT, OnPaint)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
ALT_MSG_MAP(2)
   MESSAGE_HANDLER(WM_CREATE, OnCreate)
END_MSG_MAP()

Das END_MSG_MAP-Makro markiert das Ende der Meldungszuordnung.Beachten Sie, dass es immer genau eine Instanz von BEGIN_MSG_MAP und von END_MSG_MAP gibt.

Weitere Informationen zur Verwendung von Meldungszuordnungen in ATL, finden Sie unter Meldungszuordnungen.

Anforderungen

Header: atlwin.h

Siehe auch

Referenz

CMessageMap-Klasse

CDynamicChain-Klasse

Weitere Ressourcen

Meldungszuordnungs-Makros (ATL)

ATL-Makros