Wenn möchte, dass ein Steuerelement des Containers zu benachrichtigen, die eine Aktion (bestimmt durch Steuerelemententwickler) (z. B. eine Tastatureingabe, Maus-Klick oder eine Änderung am Zustand des Steuerelements) geschehen wird eine Ereignis-Feuer-Funktion. Diese Funktion benachrichtigt den Steuerelementcontainer, den einige wichtige Maßnahme durch Brennen das zugehörige Ereignis aufgetreten ist.
Die Microsoft Foundation Class-Bibliothek bietet ein Programmiermodell für das Auslösen von Ereignissen optimiert. In diesem Modell "Ereignis Karten" werden verwendet, um festzulegen, welche Funktionen welche Ereignisse für ein bestimmtes Steuerelement ausgelöst. Ereigniskarten enthalten ein Makro für jedes Ereignis. Beispielsweise könnte eine Ereigniskarte, das eine hat Click-Ereignis ausgelöst wird wie folgt aussehen:
BEGIN_EVENT_MAP (CSampleCtrl, COleControl)
//{{AFX_EVENT_MAP(CSampleCtrl)
(EVENT_STOCK_CLICK)
//}}AFX_EVENT_MAP
END_EVENT_MAP()
Das EVENT_STOCK_CLICK -Makro gibt an, dass das Steuerelement ein hat Click-Ereignis jedes Mal, wenn es erkennt einen Mausklick ausgelöst werden. Für eine ausführlichere Liste der Veranstaltungen hat, finden Sie im Artikel ActiveX-Steuerelemente: Veranstaltungen im Visual C++ Programmer's Guide. Makros sind auch für benutzerdefinierte Ereignisse vorliegen.
Obwohl Ereigniskarte Makros wichtig sind, Einfügen nicht im allgemeinen direkt. Dies ist da Klassen-Assistent automatisch Ereignis-Zuordnungseinträgen in Ihre Quelldateien, erstellt Wenn Sie es verwenden, um Ereignisse Ereignis-brennen Funktionen zuordnen. Wann immer Sie wollen bearbeiten oder fügen Sie einen Eintrag Ereignis-Karte können Sie Klassen-Assistent.
Ereigniskarten Unterstützung bietet MFC die folgenden Makros:
Karte Ereignisdeklaration und Abgrenzung
| DECLARE_EVENT_MAP | Erklärt, dass eine Ereigniszuordnung in einer Klasse verwendet wird, um Ereignisse Ereignis-brennen Funktionen zuzuordnen (muss in der Klassendeklaration verwendet werden). |
| BEGIN_EVENT_MAP | Beginnt die Definition einer Ereignis-Karte (muss in die Implementierung der Klasse verwendet werden). |
| END_EVENT_MAP | Beendet die Definition einer Ereignis-Karte (muss in die Implementierung der Klasse verwendet werden). |
Ereignis Zuordnung Makros
| EVENT_CUSTOM | Gibt an, welche Ereignis-Feuer-Funktion das angegebene Ereignis auslöst. |
| EVENT_CUSTOM_ID | Gibt an, welche Ereignis-Feuer-Funktion ausgelöst wird, das angegebene Ereignis mit einer bestimmten Dispatch-ID. |
Nachricht Zuordnung Makros
| ON_OLEVERB | Gibt ein benutzerdefiniertes Verb behandelt, indem die OLE-Steuerung. |
| ON_STDOLEVERB | Überschreibt eine Norm Verb Zuordnung des OLE-Steuerelements. |