Share via


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_DELEGATEOnClick Ereignishandler an ein MFC-Steuerelement MyControlanfü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