Definieren eines Meldungshandlers für eine reflektierte Meldung
Nachdem Sie eine neue MFC-Steuerelementklasse erstellt haben, können Sie Meldungshandler für die Klasse definieren.Über Handler für reflektierte Meldungen können Steuerelementklassen eigene Meldungen verarbeiten, bevor das übergeordnete Fenster die Meldung empfängt.Sie können die MFC-Funktion CWnd::SendMessage verwenden, um Meldungen vom Steuerelement an ein übergeordnetes Fenster zu übertragen.
Mit dieser Funktionalität könnten Sie beispielsweise ein Listenfeld erstellen, das sich selbst neu zeichnet und nicht darauf wartet, dass es vom übergeordneten Fenster (Besitzer) neu gezeichnet wird.Weitere Informationen zu reflektierten Meldungen finden Sie unter Behandeln von reflektierten Meldungen.
Um ein ActiveX-Steuerelement mit derselben Funktionalität anzulegen, müssen Sie ein Projekt für das ActiveX-Steuerelement erstellen.
Hinweis |
---|
Reflektierte Meldungen (OCM_Message) können einem ActiveX-Steuerelement nicht im Eigenschaftenfenster hinzugefügt werden, wie dies im Folgenden für andere Meldungen beschrieben wird.Diese Meldungen müssen manuell hinzugefügt werden. |
So definieren Sie im Eigenschaftenfenster einen Meldungshandler für eine reflektierte Meldung
Fügen Sie dem MFC-Projekt ein Steuerelement hinzu, z. B. eine Liste, eine Infoleiste, eine Symbolleiste oder eine Strukturansicht.
Klicken Sie in der Klassenansicht auf den Namen der Steuerelementklasse.
Der Name der Steuerelementklasse wird im Eigenschaftenfenster in der Liste Klassenname angezeigt.
Klicken Sie auf die Schaltfläche Meldungen, um die Windows-Meldungen anzuzeigen, die dem Steuerelement hinzugefügt werden können.
Führen Sie im Eigenschaftenfenster in der Meldungsliste einen Bildlauf nach unten durch, bis Sie die Überschrift Reflektiert sehen.Alternativ können Sie auf die Schaltfläche Kategorien klicken und die Ansicht reduzieren, um die Überschrift Reflektiert anzeigen zu lassen.
Wählen Sie die reflektierte Meldung aus, für die Sie einen Handler definieren möchten.Die reflektierten Meldungen sind durch ein Gleichheitszeichen (=) gekennzeichnet.
Klicken Sie in der rechten Spalte des Eigenschaftenfensters auf die Zelle, um den für den Handler vorgeschlagenen Namen als <add>HandlerName anzeigen zu lassen.(Der =WM_CTLCOLOR-Meldungshandler schlägt beispielsweise <add>CtlColor vor.)
Klicken Sie auf den vorgeschlagenen Namen, um ihn zu bestätigen.Der Handler wird dem Projekt hinzugefügt.
Die Namen der hinzugefügten Meldungshandler werden in der rechten Spalte des Fensters für reflektierte Meldungen angezeigt.
Um einen Meldungshandler zu bearbeiten oder zu löschen, wiederholen Sie die Schritte 4 bis 7.Klicken Sie auf die Zelle, die den zu bearbeitenden oder zu löschenden Handlernamen enthält, und klicken Sie dann auf die entsprechende Task.
Siehe auch
Aufgaben
Zuordnen von Meldungen zu Funktionen
Hinzufügen einer Memberfunktion
Hinzufügen einer Membervariablen
Überschreiben einer virtuellen Funktion
Referenz
Navigieren in der Klassenstruktur