BEGIN_MSG_MAP

BEGIN_MSG_MAP ( TheClass )

Parameter

theClass

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

Bemerkungen

Markiert den Beginn der Standardmeldungszuordnung. CWindowImpl::WindowProc verwendet die Standardmeldungszuordnung zum Verarbeiten von Nachrichten an das Fenster gesendet. Die Meldungszuordnung leitet die Nachrichten an die entsprechenden Handler-Funktion oder eine andere Nachricht anzeigen.

Die folgenden Makros zuordnen eine Handlerfunktion eine Nachricht. Diese Funktion muss im TheClass definiert werden.

Makro Beschreibung
MESSAGE_HANDLER Ordnet eine Windows-Meldung eine Handlerfunktion.
MESSAGE_RANGE_HANDLER Karten eine zusammenhängende Reihe von Windows-Nachrichten an eine Handlerfunktion.
COMMAND_HANDLER Ordnet eine WM_COMMAND -Nachricht eine Handlerfunktion, basierend auf der Benachrichtigungscode und die ID des Menüelements, Kontrolle oder Beschleuniger.
COMMAND_ID_HANDLER Ordnet eine WM_COMMAND -Nachricht eine Handlerfunktion, basierend auf die ID des Menüelements, Kontrolle oder Beschleuniger.
COMMAND_CODE_HANDLER Ordnet eine WM_COMMAND -Nachricht eine Handlerfunktion, basierend auf der Benachrichtigungscode.
COMMAND_RANGE_HANDLER Ordnet einen zusammenhängenden Bereich von WM_COMMAND -Nachrichten eine Handlerfunktion, basierend auf die ID des Menüelements, Kontrolle oder Beschleuniger.
NOTIFY_HANDLER Ordnet eine WM_NOTIFY -Meldung eine Handlerfunktion, basierend auf der Benachrichtigungscode und die Steuerelement-ID.
NOTIFY_ID_HANDLER Ordnet eine WM_NOTIFY -Meldung eine Handlerfunktion, basierend auf die Steuerelement-ID.
NOTIFY_CODE_HANDLER Ordnet eine WM_NOTIFY -Meldung eine Handlerfunktion, basierend auf der Benachrichtigungscode.
NOTIFY_RANGE_HANDLER Ordnet einen zusammenhängenden Bereich von WM_NOTIFY -Nachrichten eine Handlerfunktion, basierend auf die Steuerelement-ID.

Die folgenden Makros direkt eine Nachricht an eine andere Nachricht anzeigen. Dieser Prozess heißt "verketten".

Makro Beschreibung
CHAIN_MSG_MAP Ketten um die Standardmeldungszuordnung in der Basisklasse.
CHAIN_MSG_MAP_MEMBER Ketten um die Standardmeldungszuordnung in einen Datenmember der Klasse.
CHAIN_MSG_MAP_ALT Ketten, eine Alternative Meldungszuordnung, die in der Basisklasse.
CHAIN_MSG_MAP_ALT_MEMBER Ketten, eine Alternative Meldungszuordnung in einen Datenmember der Klasse.
CHAIN_MSG_MAP_DYNAMIC Ketten um die Standardmeldung Karte in einer anderen Klasse zur Laufzeit.

Beispiel

klasse CMyWindow:...
{
Öffentliche:
 Nbsp; ...

BEGIN_MSG_MAP(CMyWindow)
      MESSAGE_HANDLER (WM_PAINT, OnPaint)
      MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
      CHAIN_MSG_MAP(CMyBaseWindow)
   END_MSG_MAP()

LRESULT OnPaint(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
   { ... }

LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
   { ... }
}

Wenn ein CMyWindow Objekt erhält eine WM_PAINT Nachricht, die Nachricht richtet sich an CMyWindow::OnPaint für die eigentliche Verarbeitung. Wenn OnPaint angibt, die Nachricht erfordert die Weiterverarbeitung, die Nachricht wird dann an die Standardmeldungszuordnung in gerichtet werdenCMyBaseWindow.

Neben die Standardmeldungszuordnung können Sie eine Alternative Meldungszuordnung, die mit dem ALT_MSG_MAPdefinieren. Beginnen Sie immer eine Meldungszuordnung mit BEGIN_MSG_MAP. Sie können dann nachfolgende alternative Meldungszuordnungen deklarieren. Das folgende Beispiel zeigt die Standardmeldungszuordnung und eine Alternative Meldungszuordnung, jeweils eine Handlerfunktion:

BEGI&N_MSG_MAP(CMyClass)
 Nbsp; MESSAGE_HANDLER (WM_PAINT, OnPaint)
ALT_MSG_MAP(1)
   MESSAGE_HANDLER (WM_SETFOCUS, OnSetFocus)
END_MSG_MAP()

Das nächste Beispiel zeigt zwei alternative Meldungszuordnungen. Die Standardmeldungszuordnung ist leer.

BEGI&N_MSG_MAP(CMyClass)
ALT_MSG_MAP(1)
 Nbsp; 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 des BEGIN_MSG_MAP und END_MSG_MAP.

Weitere Informationen zur Verwendung von Meldungszuordnungen in ATL Meldungszuordnungen finden Sie im Artikel "ATL-Fensterklassen."

ATL-Makros und globale Funktionen

Siehe auch

CMessageMap, CDynamicChain

Index