Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein ActiveX-Steuerelement löst Ereignisse aus, um zwischen sich und seinem Steuercontainer zu kommunizieren. Ein Container kann auch mithilfe von Methoden und Eigenschaften mit einem Steuerelement kommunizieren. Methoden werden auch als Funktionen bezeichnet.
Methoden und Eigenschaften stellen eine exportierte Schnittstelle für die Verwendung durch andere Anwendungen bereit, z. B. Automatisierungsclients und ActiveX-Steuerelementcontainer. Weitere Informationen zu ActiveX-Steuerelementeigenschaften finden Sie im Artikel MFC ActiveX Controls: Properties.
Methoden ähneln der Verwendung und dem Zweck der Memberfunktionen einer C++-Klasse. Es gibt zwei Arten von Methoden, die Ihre Kontrolle implementieren kann: Lager und benutzerdefiniert. Ähnlich wie bei Aktienereignissen sind Aktienmethoden die Methoden, für die COleControl eine Implementierung bereitstellt. Weitere Informationen zu Aktienmethoden finden Sie im Artikel MFC ActiveX Controls: Adding Stock Methods. Benutzerdefinierte Methoden, die vom Entwickler definiert werden, ermöglichen zusätzliche Anpassungen des Steuerelements. Weitere Informationen finden Sie im Artikel MFC ActiveX Controls: Hinzufügen von benutzerdefinierten Methoden.
Die Microsoft Foundation Class-Bibliothek (MFC) implementiert einen Mechanismus, mit dem Ihr Steuerelement vorgegebene und benutzerdefinierte Methoden unterstützen kann. Der erste Teil ist Klasse COleControl
. Abgeleitet von CWnd
, unterstützen die COleControl
-Mitgliedsfunktionen Standardmethoden, die allen ActiveX-Steuerelementen gemeinsam sind. Der zweite Teil dieses Mechanismus ist die Verteilerkarte. Eine Dispatch-Map ähnelt einer Message-Map. Anstatt jedoch eine Funktion einer Windows-Nachrichten-ID zuzuordnen, ordnet eine Dispatch-Map virtuelle Member-Funktionen IDispatch-IDs zu.
Damit ein Steuerelement verschiedene Methoden ordnungsgemäß unterstützt, muss seine Klasse eine Dispositionskarte deklarieren. Dies wird durch die folgende Codezeile in der Headerdatei der Steuerungsklasse (.H) erreicht.
DECLARE_DISPATCH_MAP()
Der Hauptzweck der Dispatch-Karte besteht darin, die Beziehung herzustellen zwischen den von einem externen Aufrufer wie etwa einem Container verwendeten Methodennamen und den Memberfunktionen der Klasse des Steuerelements, die diese Methoden implementieren. Nachdem die Dispositionskarte deklariert wurde, muss sie in der Implementierungsdatei (.CPP) des Steuerelements definiert werden. Die folgenden Codezeilen definieren die Versandkarte:
BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
END_DISPATCH_MAP()
Wenn Sie den MFC ActiveX-Steuerelement-Assistenten zum Erstellen des Projekts verwendet haben, wurden diese Zeilen automatisch hinzugefügt. Wenn der MFC ActiveX-Steuerelement-Assistent nicht verwendet wurde, müssen Sie diese Zeilen manuell hinzufügen.
In den folgenden Artikeln werden die Methoden ausführlich behandelt:
MFC ActiveX-Steuerelemente: Hinzufügen von benutzerdefinierten Methoden
MFC ActiveX-Steuerelemente: Zurückgeben von Fehlercodes aus einer Methode