Meldungszuordnungsmakros (MFC)

Um Nachrichtenzuordnungen zu unterstützen, stellt MFC die folgenden Makros bereit:

Message-Map-Deklaration und Abgrenzungsmakros

Name Beschreibung
DECLARE_MESSAGE_MAP Deklariert, dass eine Nachrichtenzuordnung in einer Klasse verwendet wird, um Nachrichten Funktionen zuzuordnen (muss in der Klassendeklaration verwendet werden).
BEGIN_MESSAGE_MAP Beginnt mit der Definition einer Nachrichtenzuordnung (muss in der Klassenimplementierung verwendet werden).
BEGIN_TEMPLATE_MESSAGE_MAP Beginnt mit der Definition einer Nachrichtenzuordnung für einen Klassentyp, der ein einzelnes Vorlagenargument enthält.
END_MESSAGE_MAP Beendet die Definition einer Nachrichtenzuordnung (muss in der Klassenimplementierung verwendet werden).

Nachrichtenzuordnungsmakros

Name Beschreibung
ON_COMMAND Gibt an, welche Funktion eine angegebene Befehlsmeldung behandelt.
ON_COMMAND_EX Gibt an, welche Funktion eine angegebene Befehlsmeldung behandelt.
ON_CONTROL Gibt an, welche Funktion eine angegebene Steuerelementbenachrichtigung behandelt.
ON_MESSAGE Gibt an, welche Funktion eine benutzerdefinierte Nachricht verarbeitet.
ON_OLECMD Gibt an, welche Funktion einen Menübefehl von einem DocObject oder seinem Container verarbeitet.
ON_REGISTERED_MESSAGE Gibt an, welche Funktion eine registrierte benutzerdefinierte Nachricht behandelt.
ON_REGISTERED_THREAD_MESSAGE Gibt an, welche Funktion eine registrierte benutzerdefinierte Nachricht verarbeitet, wenn Sie über eine CWinThread Klasse verfügen.
ON_THREAD_MESSAGE Gibt an, welche Funktion eine benutzerdefinierte Nachricht verarbeitet, wenn Sie über eine CWinThread Klasse verfügen.
ON_UPDATE_COMMAND_UI Gibt an, welche Funktion eine angegebene Aktualisierungsbefehlsmeldung der Benutzeroberfläche behandelt.

Nachrichtenzuordnungsbereich-Makros

Name Beschreibung
ON_COMMAND_RANGE Gibt an, welche Funktion den Bereich der Befehls-IDs behandelt, die in den ersten beiden Parametern für das Makro angegeben sind.
ON_UPDATE_COMMAND_UI_RANGE Gibt an, welcher Updatehandler den Bereich der Befehls-IDs behandelt, die in den ersten beiden Parametern für das Makro angegeben sind.
ON_CONTROL_RANGE Gibt an, welche Funktion Benachrichtigungen aus dem Bereich der Steuerelement-IDs verarbeitet, die in den zweiten und dritten Parametern für das Makro angegeben sind. Der erste Parameter ist eine Steuerelementbenachrichtigung, z BN_CLICKED. B. . .

Weitere Informationen zu Nachrichtenzuordnungen, nachrichtenzuordnungsdeklaration und Abgrenzungsmakros und nachrichtenzuordnungsmakros finden Sie unter Message Karten und Message Handling and Mapping Topics. Weitere Informationen zu Nachrichtenzuordnungsbereichen finden Sie unter Handler für Message-Map Ranges.

BEGIN_MESSAGE_MAP

Beginnt mit der Definition Ihrer Nachrichtenzuordnung.

Syntax

BEGIN_MESSAGE_MAP( theClass, baseClass )

Parameter

theClass
Gibt den Namen der Klasse an, deren Nachrichtenzuordnung dies ist.

baseClass
Gibt den Namen der Basisklasse von theClass.

Hinweise

Starten Sie in der Implementierungsdatei (.cpp), die die Memberfunktionen für Ihre Klasse definiert, die Nachrichtenzuordnung mit dem BEGIN_MESSAGE_MAP Makro, fügen Sie dann Makroeinträge für jede Ihrer Nachrichtenhandlerfunktionen hinzu, und schließen Sie die Nachrichtenzuordnung mit dem END_MESSAGE_MAP Makro ab.

Weitere Informationen zu Nachrichtenzuordnungen finden Sie unter Message Karten

Beispiel

BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
   ON_WM_CREATE()
END_MESSAGE_MAP()

Anforderungen

Headerafxwin.h:

BEGIN_TEMPLATE_MESSAGE_MAP

Beginnt mit der Definition einer Nachrichtenzuordnung für einen Klassentyp, der ein einzelnes Vorlagenargument enthält.

Syntax

BEGIN_TEMPLATE_MESSAGE_MAP( theClass, type_name, baseClass )

Parameter

theClass
Gibt den Namen der Klasse an, deren Nachrichtenzuordnung dies ist.

type_name
Der Name des für die Klasse angegebenen Vorlagenparameters.

baseClass
Gibt den Namen der Basisklasse von theClass.

Hinweise

Dieses Makro ähnelt dem BEGIN_MESSAGE_MAP Makro. Dieses Makro ist jedoch für Klassen vorgesehen, die ein einzelnes Vorlagenargument enthalten.

Starten Sie im Abschnitt zur Methodenimplementierung Ihrer Klasse die Nachrichtenzuordnung mit dem BEGIN_TEMPLATE_MESSAGE_MAP Makro. Fügen Sie dann Makroeinträge für jede Ihrer Nachrichtenhandlermethoden wie für eine Standardnachrichtenzuordnung hinzu. Wie beim BEGIN_MESSAGE_MAP Makro schließen Sie die Nachrichtenzuordnung der Vorlage mit dem END_MESSAGE_MAP Makro ab.

Weitere Informationen zum Implementieren von Nachrichtenzuordnungen für Vorlagenklassen finden Sie unter How to: Create a Message Map for a Template Class.

Anforderungen

Headerafxwin.h:

DECLARE_MESSAGE_MAP

Deklariert, dass die Klasse eine Nachrichtenzuordnung definiert. Jede CCmdTargetabgeleitete Klasse in Ihrem Programm muss eine Nachrichtenzuordnung zum Verarbeiten von Nachrichten bereitstellen.

Syntax

DECLARE_MESSAGE_MAP( )

Hinweise

Verwenden Sie das DECLARE_MESSAGE_MAP Makro am Ende der Klassendeklaration. Verwenden Sie dann in der CPP-Datei, die die Memberfunktionen für die Klasse definiert, das BEGIN_MESSAGE_MAP Makro, Makroeinträge für jede Ihrer Nachrichtenhandlerfunktionen und das END_MESSAGE_MAP Makro.

Hinweis

Wenn Sie ein Element danach DECLARE_MESSAGE_MAPdeklarieren, müssen Sie einen neuen Zugriffstyp (public, privateoder protected) für sie angeben.

Weitere Informationen zu Nachrichtenzuordnungen und dem DECLARE_MESSAGE_MAP Makro finden Sie unter "Nachrichtenbehandlung" und "Zuordnungsthemen".

Beispiel

class CMainFrame : public CMDIFrameWnd
{
   DECLARE_MESSAGE_MAP()

   // Remainder of class declaration omitted.

Anforderungen

Headerafxwin.h:

END_MESSAGE_MAP

Beendet die Definition Ihrer Nachrichtenzuordnung.

Syntax

END_MESSAGE_MAP( )

Hinweise

Weitere Informationen zu Nachrichtenzuordnungen und dem END_MESSAGE_MAP Makro finden Sie unter "Nachrichtenbehandlung" und "Zuordnungsthemen".

Anforderungen

Headerafxwin.h:

ON_COMMAND

Dieses Makro ordnet einer Memberfunktion eine Befehlsmeldung zu.

Syntax

ON_COMMAND( commandId, memberFxn )

Parameter

commandId
Die Befehls-ID.

memberFxn
Der Name der Meldungshandlerfunktion, der der Befehl zugeordnet ist.

Hinweise

Es gibt an, welche Funktion eine Befehlsmeldung von einem Befehlsbenutzeroberflächenobjekt wie einem Menüelement oder einer Symbolleistenschaltfläche verarbeitet.

Wenn ein Befehlszielobjekt eine Windows-Nachricht WM_COMMAND mit der angegebenen ID empfängt, wird die Memberfunktion memberFxn aufgerufen, ON_COMMAND um die Nachricht zu verarbeiten.

Dient ON_COMMAND zum Zuordnen eines einzelnen Befehls zu einer Memberfunktion. Dient ON_COMMAND_RANGE zum Zuordnen eines Bereichs von Befehls-IDs zu einer Memberfunktion. Nur ein Nachrichtenzuordnungseintrag kann einer bestimmten Befehls-ID entsprechen. Das heißt, Sie können einen Befehl nicht mehreren Handlern zuordnen. Weitere Informationen und Beispiele finden Sie unter "Nachrichtenbehandlung" und "Zuordnungsthemen".

Beispiel

BEGIN_MESSAGE_MAP(CMFCListViewDoc, CDocument)
   ON_COMMAND(ID_MYCOMMAND, &CMFCListViewDoc::OnMycommand)
END_MESSAGE_MAP()

Anforderungen

Headerafxmsg_.h:

ON_COMMAND_EX

Erweiterte Befehlshandlerelementfunktion.

Syntax

ON_COMMAND_EX(commandId, memberFxn);

Parameter

commandId
Die Befehls-ID.

memberFxn
Der Name der Meldungshandlerfunktion, der der Befehl zugeordnet ist.

Hinweise

Für erweiterte Verwendungsmöglichkeiten steht eine erweiterte Form von Befehlsnachrichtenhandlern zur Verfügung. Das ON_COMMAND_EX Makro wird für solche Nachrichtenhandler verwendet und stellt eine Obermenge der ON_COMMAND Funktionalität bereit. Erweiterte Befehlshandler-Memberfunktionen verwenden einen einzelnen Parameter, eine UINT mit der Befehls-ID und geben eine zurück BOOL. Der Rückgabewert sollte TRUE darauf hinweisen, dass der Befehl behandelt wurde. Andernfalls wird das Routing an andere Befehlszielobjekte fortgesetzt.

Weitere Informationen finden Sie im technischen Hinweis [TN006: Message Karten]tm006-message-maps.md).

Anforderungen

Headerdatei: afxmsg_.h

ON_CONTROL

Gibt an, welche Funktion eine Benachrichtigung über benutzerdefinierte Steuerelemente behandelt.

Syntax

ON_CONTROL( wNotifyCode, commandId, memberFxn )

Parameter

wNotifyCode
Der Benachrichtigungscode des Steuerelements.

commandId
Die Befehls-ID.

memberFxn
Der Name der Meldungshandlerfunktion, der der Befehl zugeordnet ist.

Hinweise

Steuerelementbenachrichtigungen sind diejenigen, die von einem Steuerelement an das übergeordnete Fenster gesendet werden.

Es sollte genau eine ON_CONTROL Makroanweisung in Ihrer Nachrichtenzuordnung für jede Steuerelementbenachrichtigung vorhanden sein, die einer Nachrichtenhandlerfunktion zugeordnet werden muss.

Weitere Informationen und Beispiele finden Sie unter "Nachrichtenbehandlung" und "Zuordnungsthemen".

Anforderungen

Headerafxmsg_.h:

ON_MESSAGE

Gibt an, welche Funktion eine benutzerdefinierte Nachricht verarbeitet.

Syntax

ON_MESSAGE( message, memberFxn )

Parameter

message
Die Meldungs-ID.

memberFxn
Der Name der Nachrichtenhandlerfunktion, der die Nachricht zugeordnet ist.

Der Typ der Funktion muss sein afx_msg LRESULT (CWnd::*)(WPARAM, LPARAM).

Hinweise

Benutzerdefinierte Nachrichten sind alle Nachrichten, die keine standardmäßigen Windows-Nachrichten WM_MESSAGE sind. Beim Auswählen einer Nachrichten-ID müssen Sie Werte innerhalb des Bereichs ( WM_USER 0x0400) verwenden, um 0x7FFF oder WM_APP (0x8000) zu 0xBFFF. Weitere Informationen zu Nachrichten-IDs finden Sie unter WM_APP.

Es sollte genau eine ON_MESSAGE Makroanweisung in Ihrer Nachrichtenzuordnung für jede benutzerdefinierte Nachricht vorhanden sein, die einer Nachrichtenhandlerfunktion zugeordnet werden muss.

Hinweis

Zusätzlich zu benutzerdefinierten Nachrichten ON_MESSAGE werden weniger häufige Windows-Nachrichten behandelt. Weitere Informationen finden Sie unter Message Karten.

Weitere Informationen und Beispiele finden Sie unter Nachrichtenbehandlungs- und Zuordnungsthemen und benutzerdefinierte Handler

Beispiel

#define WM_MYMESSAGE (WM_USER + 100)

BEGIN_MESSAGE_MAP(CMyWnd2, CWnd)
   ON_MESSAGE(WM_MYMESSAGE, OnMyMessage)
END_MESSAGE_MAP()

// inside the class declaration
afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam);

LRESULT CMyWnd2::OnMyMessage(WPARAM wParam, LPARAM lParam)
{
   UNREFERENCED_PARAMETER(wParam);
   UNREFERENCED_PARAMETER(lParam);

   // Handle message here.

   return 0;
}

Anforderungen

Headerafxmsg_.h:

ON_OLECMD

Leitet Befehle über die Befehlsversandschnittstelle IOleCommandTargetweiter.

Syntax

ON_OLECMD( pguid, olecmdid, commandId )

Parameter

pguid
Bezeichner der Befehlsgruppe, zu der der Befehl gehört. Wird für die Standardgruppe verwendet NULL .

olecmdid
Der Bezeichner des OLE-Befehls.

commandId
Die Menü-ID, Symbolleisten-ID, Schaltflächen-ID oder andere ID der Ressource oder des Objekts, die den Befehl ausgibt.

Hinweise

IOleCommandTarget ermöglicht es einem Container, Befehle zu empfangen, die aus der Benutzeroberfläche eines DocObject stammen, und ermöglicht es dem Container, dieselben Befehle (z. B. "Neu", "Öffnen", "Speichern", "Drucken" im Menü "Datei" und "Kopieren", "Einfügen", "Rückgängig" usw.) an ein DocObject zu senden.

IOleCommandTargetist einfacher als ole Automation.IDispatch IOleCommandTarget basiert vollständig auf einem Standardsatz von Befehlen, die selten Argumente haben, und es sind keine Typinformationen beteiligt (auch für Befehlsargumente wird die Typsicherheit verringert). Wenn Sie Befehle mit Argumenten verteilen müssen, verwenden Sie COleServerDoc::OnExecOleCmd.

Die IOleCommandTarget Standardmenübefehle wurden von MFC in den folgenden Makros implementiert:

ON_OLECMD_CLEARSELECTION( )

Verteilt den Befehl "Löschen bearbeiten". Implementiert als:

ON_OLECMD(NULL, OLECMDID_CLEARSELECTION, ID_EDIT_CLEAR)

ON_OLECMD_COPY( )

Verteilt den Befehl "Kopieren bearbeiten". Implementiert als:

ON_OLECMD(NULL, OLECMDID_COPY, ID_EDIT_COPY)

ON_OLECMD_CUT( )

Verteilt den Befehl "Ausschneiden bearbeiten". Implementiert als:

ON_OLECMD(NULL, OLECMDID_CUT, ID_EDIT_CUT)

ON_OLECMD_NEW( )

Verteilt den Befehl "Datei neu". Implementiert als:

ON_OLECMD(NULL, OLECMDID_NEW, ID_FILE_NEW)

ON_OLECMD_OPEN( )

Verteilt den Befehl "Datei öffnen". Implementiert als:

ON_OLECMD(NULL, OLECMDID_OPEN, ID_FILE_OPEN)

ON_OLECMD_PAGESETUP( )

Verteilt den Befehl "Dateiseite einrichten". Implementiert als:

ON_OLECMD(NULL, OLECMDID_PAGESETUP, ID_FILE_PAGE_SETUP)

ON_OLECMD_PASTE( )

Verteilt den Befehl "Einfügen bearbeiten". Implementiert als:

ON_OLECMD(NULL, OLECMDID_PASTE, ID_EDIT_PASTE)

ON_OLECMD_PASTESPECIAL( )

Verteilt den Befehl 'Inhalte einfügen bearbeiten'. Implementiert als:

ON_OLECMD(NULL, OLECMDID_PASTESPECIAL, ID_EDIT_PASTE_SPECIAL)

ON_OLECMD_PRINT( )

Verteilt den Befehl "Datei drucken". Implementiert als:

ON_OLECMD(NULL, OLECMDID_PRINT, ID_FILE_PRINT)

ON_OLECMD_PRINTPREVIEW( )

Verteilt den Befehl "Dateidruckvorschau". Implementiert als:

ON_OLECMD(NULL, OLECMDID_PRINTPREVIEW, ID_FILE_PRINT_PREVIEW)

ON_OLECMD_REDO( )

Verteilt den Befehl "Wiederholen bearbeiten". Implementiert als:

ON_OLECMD(NULL, OLECMDID_REDO, ID_EDIT_REDO)

ON_OLECMD_SAVE( )

Verteilt den Befehl "Datei speichern". Implementiert als:

ON_OLECMD(NULL, OLECMDID_SAVE, ID_FILE_SAVE)

ON_OLECMD_SAVE_AS( )

Verteilt den Befehl "Datei speichern unter". Implementiert als:

ON_OLECMD(NULL, OLECMDID_SAVEAS, ID_FILE_SAVE_AS)

ON_OLECMD_SAVE_COPY_AS( )

Verteilt den Befehl "Datei speichern unter". Implementiert als:

ON_OLECMD(NULL, OLECMDID_SAVECOPYAS, ID_FILE_SAVE_COPY_AS)

ON_OLECMD_SELECTALL( )

Verteilt den Befehl "Alle bearbeiten". Implementiert als:

ON_OLECMD(NULL, OLECMDID_SELECTALL, ID_EDIT_SELECT_ALL)

ON_OLECMD_UNDO( )

Verteilt den Befehl "Rückgängig bearbeiten". Implementiert als:

ON_OLECMD(NULL, OLECMDID_UNDO, ID_EDIT_UNDO)

Anforderungen

Headerafxdocob.h:

ON_REGISTERED_MESSAGE

Die Windows-Funktion RegisterWindowMessage wird verwendet, um eine neue Fenstermeldung zu definieren, die garantiert im gesamten System eindeutig ist.

Syntax

ON_REGISTERED_MESSAGE( nMessageVariable, memberFxn )

Parameter

nMessageVariable
Die registrierte Fensternachrichten-ID-Variable.

memberFxn
Der Name der Nachrichtenhandlerfunktion, der die Nachricht zugeordnet ist.

Hinweise

Dieses Makro gibt an, welche Funktion die registrierte Nachricht behandelt.

Weitere Informationen und Beispiele finden Sie unter "Nachrichtenbehandlung" und "Zuordnungsthemen".

Beispiel

static UINT NEAR WM_FIND = RegisterWindowMessage(_T("COMMDLG_FIND"));

BEGIN_MESSAGE_MAP(CMyWnd3, CWnd)
   ON_REGISTERED_MESSAGE(WM_FIND, OnFind)
END_MESSAGE_MAP()

Anforderungen

Headerafxmsg_.h:

ON_REGISTERED_THREAD_MESSAGE

Gibt an, welche Funktion die von der Windows-Funktion RegisterWindowMessage registrierte Nachricht behandelt.

Syntax

ON_REGISTERED_THREAD_MESSAGE(nMessageVariable, memberFxn )

Parameter

nMessageVariable
Die registrierte Fensternachrichten-ID-Variable.

memberFxn
Der Name der CWinThreadFunktion -message-handler, der die Nachricht zugeordnet ist.

Hinweise

RegisterWindowMessage wird verwendet, um eine neue Fenstermeldung zu definieren, die garantiert im gesamten System eindeutig ist. ON_REGISTERED_THREAD_MESSAGE muss anstelle einer ON_REGISTERED_MESSAGECWinThread Klasse verwendet werden.

Anforderungen

Headerafxmsg_.h:

ON_THREAD_MESSAGE

Gibt an, welche Funktion eine benutzerdefinierte Nachricht verarbeitet.

Syntax

ON_THREAD_MESSAGE( message, memberFxn )

Parameter

message
Die Meldungs-ID.

memberFxn
Der Name der CWinThreadFunktion -message-handler, der die Nachricht zugeordnet ist.

Hinweise

ON_THREAD_MESSAGE muss anstelle einer ON_MESSAGECWinThread Klasse verwendet werden. Benutzerdefinierte Nachrichten sind alle Nachrichten, die keine standardmäßigen Windows-Nachrichten WM_MESSAGE sind. Es sollte genau eine ON_THREAD_MESSAGE Makroanweisung in Ihrer Nachrichtenzuordnung für jede benutzerdefinierte Nachricht vorhanden sein, die einer Nachrichtenhandlerfunktion zugeordnet werden muss.

Anforderungen

Headerafxole.h:

ON_UPDATE_COMMAND_UI

Dieses Makro gibt an, welche Funktion eine Benutzeroberflächenaktualisierungsbefehlsmeldung behandelt.

Syntax

ON_UPDATE_COMMAND_UI( messageId, memberFxn )

Parameter

messageId
Die Meldungs-ID.

memberFxn
Der Name der Nachrichtenhandlerfunktion, der die Nachricht zugeordnet ist.

Hinweise

Es sollte genau eine ON_UPDATE_COMMAND_UI Makroanweisung in Der Nachrichtenzuordnung für jeden Aktualisierungsbefehl der Benutzeroberfläche vorhanden sein, der einer Meldungshandlerfunktion zugeordnet werden muss.

Weitere Informationen und Beispiele finden Sie unter "Nachrichtenbehandlung" und "Zuordnungsthemen".

Anforderungen

Headerafxole.h:

ON_COMMAND_RANGE

Verwenden Sie dieses Makro, um einen zusammenhängenden Bereich von Befehls-IDs einer einzelnen Nachrichtenhandlerfunktion zuzuordnen.

Syntax

ON_COMMAND_RANGE( id1, id2, memberFxn )

Parameter

id1
Befehls-ID am Anfang eines zusammenhängenden Bereichs von Befehls-IDs.

id2
Befehls-ID am Ende eines zusammenhängenden Bereichs von Befehls-IDs.

memberFxn
Der Name der Meldungshandlerfunktion, der die Befehle zugeordnet sind.

Hinweise

Der Bereich der IDs beginnt mit id1 und endet mit id2.

Dient ON_COMMAND_RANGE zum Zuordnen eines Bereichs von Befehls-IDs zu einer Memberfunktion. Dient ON_COMMAND zum Zuordnen eines einzelnen Befehls zu einer Memberfunktion. Nur ein Nachrichtenzuordnungseintrag kann einer bestimmten Befehls-ID entsprechen. Das heißt, Sie können einen Befehl nicht mehreren Handlern zuordnen. Weitere Informationen zum Zuordnen von Nachrichtenbereichen finden Sie unter Handler für Message-Map Ranges.

Es gibt keine automatische Unterstützung für Nachrichtenzuordnungsbereiche, daher müssen Sie das Makro selbst platzieren.

Beispiel

// The code fragment below shows how to use ON_COMMAND_RANGE macro
// to map a contiguous range of command IDs to a single message
// handler function (i.e. OnRangeCmds() in the sample below). In
// addition, it also shows how to use CheckMenuRadioItem() to check a
// selected menu item and makes it a radio item.

BEGIN_MESSAGE_MAP(CChildFrame, CMDIChildWnd)
   ON_COMMAND_RANGE(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3, &CChildFrame::OnRangeCmds)
END_MESSAGE_MAP()

void CChildFrame::OnRangeCmds(UINT nID)
{
   CMenu* mmenu = AfxGetMainWnd()->GetMenu();
   CMenu* submenu = mmenu->GetSubMenu(5);
   submenu->CheckMenuRadioItem(ID_COMMAND_RANGECMD1, ID_COMMAND_RANGECMD3,
      nID, MF_BYCOMMAND);
}

Anforderungen

Headerafxmsg_.h:

ON_UPDATE_COMMAND_UI_RANGE

Karten einen zusammenhängenden Bereich von Befehls-IDs zu einer einzelnen Updatenachrichtenhandlerfunktion.

Syntax

ON_UPDATE_COMMAND_UI_RANGE( id1, id2, memberFxn )

Parameter

id1
Befehls-ID am Anfang eines zusammenhängenden Bereichs von Befehls-IDs.

id2
Befehls-ID am Ende eines zusammenhängenden Bereichs von Befehls-IDs.

memberFxn
Der Name der Update message-handler-Funktion, der die Befehle zugeordnet werden.

Hinweise

Aktualisieren Von Nachrichtenhandlern wird der Status von Menüelementen und Symbolleistenschaltflächen aktualisiert, die dem Befehl zugeordnet sind. Der Bereich der IDs beginnt mit id1 und endet mit id2.

Es gibt keine automatische Unterstützung für Nachrichtenzuordnungsbereiche, daher müssen Sie das Makro selbst platzieren.

Anforderungen

Headerafxmsg_.h:

ON_CONTROL_RANGE

Verwenden Sie dieses Makro, um einen zusammenhängenden Bereich von Steuerelement-IDs einer einzelnen Meldungshandlerfunktion für eine angegebene Windows-Benachrichtigung wie z BN_CLICKED. B. zuzuordnen.

Syntax

ON_CONTROL_RANGE( wNotifyCode, id1, id2, memberFxn )

Parameter

wNotifyCode
Der Benachrichtigungscode, auf den der Handler reagiert.

id1
Befehls-ID am Anfang eines zusammenhängenden Bereichs von Steuerelement-IDs.

id2
Befehls-ID am Ende eines zusammenhängenden Bereichs von Steuerelement-IDs.

memberFxn
Der Name der Meldungshandlerfunktion, der die Steuerelemente zugeordnet sind.

Hinweise

Der Bereich der IDs beginnt mit id1 und endet mit id2. Der Handler wird für die angegebene Benachrichtigung aufgerufen, die von einem der zugeordneten Steuerelemente stammt.

Es gibt keine automatische Unterstützung für Nachrichtenzuordnungsbereiche, daher müssen Sie das Makro selbst platzieren.

Weitere Informationen zum Implementieren von Handlerfunktionen für einen Bereich von Steuerelement-IDs finden Sie unter Handler für Message-Map Ranges.

Anforderungen

Headerafxmsg_.h:

Siehe auch

ON_COMMAND
TN006: Meldungszuordnungen
COleCmdUI Klasse
COleServerDoc::OnExecOleCmd
RegisterWindowMessage
Benutzerdefinierte Handler
CCmdUI Klasse