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.
ActiveX-Steuerelemente verwenden Ereignisse, um einen Container zu benachrichtigen, dass etwas mit dem Steuerelement passiert ist. Häufige Beispiele für Ereignisse sind Klicks auf das Steuerelement, daten, die mithilfe der Tastatur eingegeben wurden, und Änderungen am Zustand des Steuerelements. Wenn diese Aktionen auftreten, löst das Steuerelement ein Ereignis aus, um den Container zu benachrichtigen.
Ereignisse werden auch als Nachrichten bezeichnet.
MFC unterstützt zwei Arten von Ereignissen: Lager und benutzerdefiniert. Bestandsereignisse sind die Ereignisse, die die Klasse COleControl automatisch verarbeitet. Eine vollständige Liste der Aktienereignisse finden Sie im Artikel MFC ActiveX-Steuerelemente: Hinzufügen von Bestandsereignissen. Benutzerdefinierte Ereignisse geben einem Steuerelement die Möglichkeit, den Container zu benachrichtigen, wenn eine Aktion, die für dieses Steuerelement spezifisch ist, auftritt. Einige Beispiele wären eine Änderung des internen Zustands eines Steuerelements oder des Empfangs einer bestimmten Fenstermeldung.
Damit Ihr Steuerelement Ereignisse ordnungsgemäß auslöst, muss die Steuerelementklasse jedes Ereignis des Steuerelements einer Memberfunktion zuordnen, die aufgerufen werden soll, wenn das zugehörige Ereignis eintritt. Dieser Zuordnungsmechanismus (als Ereigniszuordnung bezeichnet) zentralisiert Informationen zum Ereignis und ermöglicht Visual Studio den einfachen Zugriff auf und die Bearbeitung der Steuerelementereignisse. Diese Ereigniszuordnung wird durch das folgende Makro deklariert, das sich in der Header-Datei (.H) der Deklaration der Steuerelementklasse befindet.
DECLARE_EVENT_MAP()
Nachdem die Ereignismap deklariert wurde, muss sie in der Implementierungsdatei (.CPP) Ihres Steuerelements definiert werden. Die folgenden Codezeilen definieren die Ereigniszuordnung, sodass Ihr Steuerelement bestimmte Ereignisse auslösen kann:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
END_EVENT_MAP()
Wenn Sie den MFC ActiveX-Steuerelement-Assistenten zum Erstellen des Projekts verwenden, werden diese Zeilen automatisch hinzugefügt. Wenn Sie den MFC ActiveX-Steuerelement-Assistenten nicht verwenden, müssen Sie diese Zeilen manuell hinzufügen.
Mit der Klassenansicht können Sie vordefinierte Ereignisse oder benutzerdefinierte Ereignisse hinzufügen, die von der Klasse COleControl unterstützt werden, und die Sie selbst definieren. Für jedes neue Ereignis fügt die Klassenansicht automatisch den richtigen Eintrag zur Ereigniskarte des Steuerelements und zur .IDL-Datei des Steuerelements hinzu.
Zwei weitere Artikel erläutern die Ereignisse im Detail:
MFC ActiveX-Steuerelemente: Hinzufügen von Stock-Ereignissen
MFC ActiveX-Steuerelemente: Hinzufügen von benutzerdefinierten Ereignissen
Siehe auch
MFC ActiveX-Steuerelemente
MFC ActiveX-Steuerelemente: Methoden
COleControl-Klasse