MFC-ActiveX-Steuerelemente: Ereignisse

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: Aktien und Benutzerdefiniert. Aktienereignisse sind ereignisse, die von der Klasse COleControl automatisch behandelt werden. Eine vollständige Liste der Aktienereignisse finden Sie im Artikel MFC ActiveX Controls: Adding Stock Events. Benutzerdefinierte Ereignisse ermöglichen einem Steuerelement die Möglichkeit, den Container zu benachrichtigen, wenn eine aktion, die für dieses Steuerelement spezifisch ist. 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 die Ereignisse des Steuerelements und die Bearbeitung der Ereignisse des Steuerelements. Diese Ereigniszuordnung wird durch das folgende Makro deklariert, das sich in der Kopfzeile befindet (. H) Datei der Steuerelementklassendeklaration:

DECLARE_EVENT_MAP()

Nachdem die Ereigniszuordnung deklariert wurde, muss sie in der Implementierung Ihres Steuerelements definiert werden (. CPP)-Datei. 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 Aktienereignisse hinzufügen, die von Klassen COleControl - oder benutzerdefinierten Ereignissen unterstützt werden, die Sie definieren. Für jedes neue Ereignis fügt die Klassenansicht automatisch den richtigen Eintrag zur Ereigniszuordnung des Steuerelements und den Steuerelementen hinzu. IDL-Datei.

Zwei weitere Artikel erläutern die Ereignisse im Detail:

Siehe auch

MFC ActiveX Controls (MFC-ActiveX-Steuerelemente)
MFC-ActiveX-Steuerelemente: Methoden
COleControl-Klasse