Zuordnungsmakros von Delegaten und Schnittstellen
MFC unterstützt diese Makros für Stellvertretungs- und Schnittstellenzuordnungen:
Name | Beschreibung |
---|---|
BEGIN_DELEGATE_MAP | Beginnt eine Stellvertretungszuordnung. |
BEGIN_INTERFACE_MAP | Beginnt mit der Definition der schnittstellenbasierten Zuordnung. |
CommandHandler Delegate | Registriert Rückrufmethoden mit einer Befehlsquelle. |
END_DELEGATE_MAP | Beendet eine Stellvertretungszuordnung. |
END_INTERFACE_MAP | Beendet die Schnittstellenzuordnung in der Implementierungsdatei. |
EVENT_DELEGATE_ENTRY | Erstellt einen Eintrag in der Delegatzuordnung. |
INTERFACE_PART | Wird zwischen dem BEGIN_INTERFACE_MAP-Makro und dem END_INTERFACE_MAP Makro für jede Schnittstelle verwendet, die ihr Objekt unterstützt. |
MAKE_DELEGATE | Fügt einen Ereignishandler an ein verwaltetes Steuerelement an. |
BEGIN_DELEGATE_MAP
Beginnt eine Stellvertretungszuordnung.
Syntax
BEGIN_DELEGATE_MAP( CLASS );
Parameter
KLASSE
Die Klasse, in der das verwaltete Steuerelement gehostet wird.
Hinweise
Mit diesem Makro wird der Anfang einer Liste von Stellvertretungseinträgen markiert, die eine Stellvertretungszuordnung verfassen. Ein Beispiel für die Verwendung dieses Makros finden Sie unter EVENT_DELEGATE_ENTRY.
Anforderungen
Header: msclr\event.h
BEGIN_INTERFACE_MAP
Beginnt die Definition der schnittstellenbasierten Zuordnung, wenn sie in der Implementierungsdatei verwendet wird.
Syntax
BEGIN_INTERFACE_MAP( theClass, baseClass )
Parameter
theClass
Die Klasse, in der die Schnittstellenzuordnung definiert werden soll
baseClass
Die Klasse, von der die Klasse abgeleitet wird.
Hinweise
Für jede implementierte Schnittstelle gibt es einen oder mehrere INTERFACE_PART Makroaufrufe. Für jedes Aggregat, das die Klasse verwendet, gibt es einen INTERFACE_AGGREGATE Makroaufruf.
Weitere Informationen zu Schnittstellenkarten finden Sie in technischem Hinweis 38.
Anforderungen
Header: afxwin.h
CommandHandler Delegate
Registriert Rückrufmethoden mit einer Befehlsquelle.
Syntax
delegate void CommandHandler( UINT^ cmdID );
Parameter
cmdID
Die Befehls-ID.
Hinweise
Dieser Delegat registriert Rückrufmethoden mit einer Befehlsquelle. Wenn Sie dem Befehlsquellobjekt einen Delegaten hinzufügen, wird die Rückrufmethode zu einem Handler für Befehle aus der angegebenen Quelle.
Weitere Informationen finden Sie unter How to: Add Command Routing to the Windows Forms Control.
Weitere Informationen zur Verwendung von Windows Forms finden Sie unter Verwenden eines Windows Form-Benutzersteuerelements in MFC.
Anforderungen
Header: afxwinforms.h (definiert in assembly atlmfc\lib\mfcmifc80.dll)
CommandUIHandler
Registriert Rückrufmethoden mit einer Befehlsmeldung zur Aktualisierung der Benutzeroberfläche.
Syntax
delegate void CommandUIHandler( unsigned int cmdID, ICommandUI^ cmdUI);
Parameter
cmdID
Die Befehls-ID.
cmdUI
Die Befehlsnachrichten-ID.
Hinweise
Diese Stellvertretung registriert Rückrufmethoden mit einer Befehlsmeldung zur Aktualisierung der Benutzeroberfläche. CommandUIHandler
ähnelt CommandHandler, mit der Ausnahme, dass dieser Delegat mit Aktualisierungsbefehlen des Benutzeroberflächenobjekts verwendet wird. Aktualisierungsbefehle der Benutzeroberfläche sollten 1:1 mit Nachrichtenhandlermethoden zugeordnet werden.
Weitere Informationen zur Verwendung von Windows Forms finden Sie unter Verwenden eines Windows Form-Benutzersteuerelements in MFC.
Anforderungen
Header: afxwinforms.h (definiert in assembly atlmfc\lib\mfcmifc80.dll)
END_DELEGATE_MAP
Beendet eine Stellvertretungszuordnung.
Syntax
END_DELEGATE_MAP();
Hinweise
Mit diesem Makro wird das Ende einer Liste von Stellvertretungseinträgen markiert, die eine Stellvertretungszuordnung verfassen. Ein Beispiel für die Verwendung dieses Makros finden Sie unter EVENT_DELEGATE_ENTRY.
Anforderungen
Header: msclr\event.h
END_INTERFACE_MAP
Beendet die Schnittstellenzuordnung in der Implementierungsdatei.
Syntax
END_INTERFACE_MAP( )
Hinweise
Weitere Informationen zu Schnittstellenkarten finden Sie in technischem Hinweis 38.
Anforderungen
Header: afxwin.h
EVENT_DELEGATE_ENTRY
Erstellt einen Eintrag in der Delegatzuordnung.
Syntax
EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);
Parameter
MITGLIED
Die Ereignishandlermethode, die an das Steuerelement angefügt werden soll.
ARG0
Das erste Argument der methode des verwalteten Ereignishandlers, z Object^
. B. .
ARG1
Das zweite Argument der methode des verwalteten Ereignishandlers, z EventArgs^
. B. .
Hinweise
Jeder Eintrag in der Delegatzuordnung entspricht einem verwalteten Ereignishandlerdelegat, der von MAKE_DELEGATE erstellt wurde.
Beispiel
Im folgenden Codebeispiel wird gezeigt, wie Sie EVENT_DELEGATE_ENTRY verwenden, um einen Eintrag in der Stellvertretungszuordnung für den OnClick
Ereignishandler zu erstellen. Siehe auch das Codebeispiel in MAKE_DELEGATE. Weitere Informationen finden Sie unter How to: Sinken von Windows Forms-Ereignissen aus nativen C++-Klassen.
BEGIN_DELEGATE_MAP(CMyView)
EVENT_DELEGATE_ENTRY(OnClick, System::Object^, System::EventArgs^)
END_DELEGATE_MAP()
Anforderungen
Header: msclr\event.h
INTERFACE_PART
Wird zwischen dem BEGIN_INTERFACE_MAP-Makro und dem END_INTERFACE_MAP Makro für jede Schnittstelle verwendet, die ihr Objekt unterstützt.
Syntax
INTERFACE_PART( theClass, iid, localClass)
Parameter
theClass
Der Name der Klasse, die die Schnittstellenzuordnung enthält.
iid
Die IID, die der eingebetteten Klasse zugeordnet werden soll.
localClass
Der Name der lokalen Klasse.
Hinweise
Damit können Sie eine IID einem Element der Klasse zuordnen, die durch die Klasse und die localClass angegeben ist.
Weitere Informationen zu Schnittstellenkarten finden Sie in technischem Hinweis 38.
Anforderungen
Header: afxwin.h
MAKE_DELEGATE
Fügt einen Ereignishandler an ein verwaltetes Steuerelement an.
Syntax
MAKE_DELEGATE( DELEGATE, MEMBER) ;
Parameter
DELEGIEREN
Der Typ des verwalteten Ereignishandlerdelegats, z . B. EventHandler.
MITGLIED
Der Name der Ereignishandlermethode, die an das Steuerelement angefügt werden soll.
Hinweise
Dieses Makro erstellt einen verwalteten Ereignishandlerdelegat vom Typ DELEGATE und des Namens MEMBER. Der Delegat des verwalteten Ereignishandlers ermöglicht es einer systemeigenen Klasse, verwaltete Ereignisse zu behandeln.
Beispiel
Das folgende Codebeispiel zeigt, wie Sie einen MAKE_DELEGATE
OnClick
Ereignishandler an ein MFC-Steuerelement MyControl
anfügen. Eine umfassendere Erläuterung der Funktionsweise dieses Makros in einer MFC-Anwendung finden Sie unter How to: SinkEn von Windows Forms-Ereignissen aus nativen C++-Klassen.
// CMyView derives from CWinFormsView.
void CMyView::OnInitialUpdate()
{
CWinFormsView::OnInitialUpdate();
GetControl()->Click += MAKE_DELEGATE(System::EventHandler, OnClick);
}
Anforderungen
Header: msclr\event.h
Siehe auch
Vorgehensweise: Auffangen von Windows Forms-Ereignissen aus nativen C++-Klassen
Vorgehensweise: Hinzufügen von Befehlsrouting zum Windows Forms-Steuerelement
Makros und Globalen