Freigeben über


Definieren eines Meldungshandlers für eine reflektierte Meldung

Nachdem Sie eine neue MFC-Steuerelementklasse erstellt haben, können Sie Nachrichtenhandler dafür definieren. Mit gespiegelten Nachrichtenhandlern kann die Steuerelementklasse ihre eigenen Nachrichten verarbeiten, bevor die Nachricht vom übergeordneten Element empfangen wird. Sie können die MFC CWnd::SendMessage-Funktion verwenden, um Nachrichten von Ihrem Steuerelement an ein übergeordnetes Fenster zu senden.

Mit dieser Funktionalität können Sie z. B. ein Listenfeld erstellen, das sich selbst neu gezeichnet, anstatt sich darauf zu verlassen, dass das übergeordnete Fenster dazu verwendet wird (Besitzer gezeichnet). Weitere Informationen zu reflektierten Nachrichten finden Sie unter "Behandeln von reflektierten Nachrichten".

Um ein ActiveX-Steuerelement mit derselben Funktionalität zu erstellen, müssen Sie ein Projekt für das ActiveX-Steuerelement erstellen.

Hinweis

Sie können keine reflektierte Nachricht (OCM_Message) für ein ActiveX-Steuerelement mithilfe des Klassen-Assistenten hinzufügen, wie unten beschrieben. Sie müssen diese Nachrichten manuell hinzufügen.

So definieren Sie einen Nachrichtenhandler für eine reflektierte Nachricht aus dem Klassen-Assistenten

  1. Fügen Sie ihrem MFC-Projekt ein Steuerelement hinzu, z. B. eine Liste, ein Rebar-Steuerelement, eine Symbolleiste oder ein Struktursteuerelement.

  2. Klicken Sie in der Klassenansicht auf den Namen der Steuerelementklasse.

  3. Im Klassen-Assistenten wird der Name der Steuerelementklasse in der Liste "Klassenname" angezeigt.

  4. Klicken Sie auf die Registerkarte "Nachrichten ", um die windows-Nachrichten anzuzeigen, die dem Steuerelement hinzugefügt werden können.

  5. Wählen Sie die reflektierte Nachricht aus, für die Sie einen Handler definieren möchten. Reflektierte Nachrichten werden mit einem Gleichheitszeichen (=) gekennzeichnet.

  6. Klicken Sie auf die Zelle in der rechten Spalte im Klassen-Assistenten, um den vorgeschlagenen Namen des Handlers als <"HandlerName hinzufügen" anzuzeigen>. (Der Nachrichtenhandler =WM_CTLCOLOR schlägt beispielsweise vor<, CtlColor hinzuzufügen>).

  7. Klicken Sie auf den vorgeschlagenen Namen, der akzeptiert werden soll. Der Handler wird Ihrem Projekt hinzugefügt.

  8. Wiederholen Sie die Schritte 4 bis 7, um einen Nachrichtenhandler zu bearbeiten oder zu löschen. Klicken Sie auf die Zelle, die den Namen des Handlers enthält, um sie zu bearbeiten oder zu löschen, und klicken Sie auf die entsprechende Aufgabe.

Siehe auch

Zuordnen von Meldungen zu Funktionen
Hinzufügen neuer Funktionen mit Code-Assistenten
Hinzufügen einer Klasse
Hinzufügen einer Memberfunktion
Adding a Member Variable (Hinzufügen einer Membervariablen)
Overriding a Virtual Function (Überschreiben einer virtuellen Funktion)
MFC Message Handler (MFC-Meldungshandler)
Navigating the Class Structure (Navigieren in der Klassenstruktur)