COMMAND_HANDLER ( Id, Code, Func )
Parameter
id
[in] Die ID des Menüelements, Kontrolle oder Beschleuniger.
code
[in] Der Benachrichtigungscode.
func
[in] Der Name der Message Handler-Funktion.
Bemerkungen
Definiert einen Eintrag in eine Meldungszuordnung. COMMAND_HANDLER ordnet eine WM_COMMAND -Nachricht auf die angegebene Handler-Funktion, basierend auf der Benachrichtigungscode und die Steuerelement-ID. Zum Beispiel
klasse CMyClass:...
{
Öffentliche:
&Nbsp; ...
BEGIN_MSG_MAP(CMyClass)
COMMAND_HANDLER (IDC_MYCTL, EN_CHANGE-Ereignis, OnChange)
...
END_MSG_MAP()
/ / Wenn ein CMyClass Objekt erhält eine WM_COMMAND
/ / Nachricht identifiziert durch IDC_MYCTL und EN_CHANGE-Ereignis,
/ / die Nachricht richtet sich an CMyClass::OnChange
/ / für die eigentliche Verarbeitung.
LRESULT OnChange (...)
{ ... }
}
Jede Funktion in einem Makro COMMAND_HANDLER angegeben muss wie folgt definiert:
LRESULT Comm&andHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOLamp; bHandled)
Die Kartensets Nachricht bHandled auf TRUE vor CommandHandler wird aufgerufen. Wenn CommandHandler nicht vollständig behandelt die Nachricht, sollte gesetzt bHandled , FALSE , um anzugeben die Nachricht benötigt Weiterverarbeitung.
Hinweis&Nbsp; Beginnen Sie immer eine Meldungszuordnung mit BEGIN_MSG_MAP. Anschließend können Sie deklarieren, dass nachfolgende alternative Meldungszuordnungen mit ALT_MSG_MAP. Das END_MSG_MAP -Makro markiert das Ende der Meldungszuordnung. Jede Nachricht Karte muss genau eine Instanz des BEGIN_MSG_MAP und END_MSG_MAP.
Zusätzlich zu COMMAND_HANDLERkönnen Sie MESSAGE_HANDLER eine WM_COMMAND -Nachricht ohne Rücksicht auf einen Bezeichner oder einen Code zuordnen. In diesem Fall MESSAGE_HANDLER(WM_COMMAND, OnHandlerFunction) leitet alle WM_COMMAND NachrichtenOnHandlerFunction.
Weitere Informationen zur Verwendung von Meldungszuordnungen in ATL Meldungszuordnungen finden Sie im Artikel "ATL-Fensterklassen."
ATL-Makros und globale Funktionen
Siehe auch
COMMAND_ID_HANDLER, COMMAND_CODE_HANDLER, COMMAND_RANGE_HANDLER, NOTIFY_HANDLER