Meldungskategorien
Welche Arten von Nachrichten schreiben Sie Handler für Es gibt drei Standard Kategorien:
Windows-Meldungen
Dies schließt in erster Linie die Nachrichten ein, die mit dem Präfix WM_ beginnen, mit Ausnahme von WM_COMMAND. Windows-Nachrichten werden von Fenstern und Ansichten behandelt. Diese Nachrichten verfügen häufig über Parameter, die verwendet werden, um zu bestimmen, wie die Nachricht behandelt werden soll.
Steuerelementbenachrichtigungen
Dazu gehören WM_COMMAND Benachrichtigungen von Steuerelementen und anderen untergeordneten Fenstern zu ihren übergeordneten Fenstern. Beispielsweise sendet ein Bearbeitungssteuerelement seinem übergeordneten Element eine WM_COMMAND Nachricht, die den EN_CHANGE Steuerelementbenachrichtigungscode enthält, wenn der Benutzer eine Aktion ausgeführt hat, die möglicherweise Text im Bearbeitungssteuerelement geändert hat. Der Handler des Fensters für die Nachricht antwortet auf die Benachrichtigung in geeigneter Weise, z. B. das Abrufen des Texts im Steuerelement.
Das Framework leitet Steuerbenachrichtigungsnachrichten wie andere WM_ Nachrichten weiter. Eine Ausnahme ist jedoch die BN_CLICKED Von Schaltflächen gesendete Steuerelementbenachrichtigungsnachricht, wenn der Benutzer darauf klickt. Diese Nachricht wird speziell als Befehlsnachricht behandelt und wie andere Befehle weitergeleitet.
Befehlsmeldungen
Dazu gehören WM_COMMAND Benachrichtigungen von Benutzeroberflächenobjekten: Menüs, Symbolleistenschaltflächen und Tastenkombinationen. Das Framework verarbeitet Befehle anders als andere Nachrichten, und sie können von mehr Arten von Objekten verarbeitet werden, wie in Befehlszielen erläutert.
Windows-Nachrichten und Steuerelementbenachrichtigungen
Nachrichten in den Kategorien 1 und 2 – Windows-Nachrichten und Steuerelementbenachrichtigungen – werden von Fenstern behandelt: Von der Klasse CWnd
abgeleitete Klassenobjekte. Dazu gehören CFrameWnd
, , CMDIFrameWnd
, CMDIChildWnd
, CView
und CDialog
Ihre eigenen Klassen, die von diesen Basisklassen abgeleitet sind. Solche Objekte kapseln ein HWND
, ein Handle zu einem Windows-Fenster.
Befehlsmeldungen
Nachrichten in Kategorie 3 – Befehle – können von einer breiteren Palette von Objekten behandelt werden: Dokumente, Dokumentvorlagen und das Anwendungsobjekt selbst zusätzlich zu Fenstern und Ansichten. Wenn sich ein Befehl direkt auf ein bestimmtes Objekt auswirkt, ist es sinnvoll, dass dieses Objekt den Befehl behandelt. Der Befehl "Öffnen" im Menü "Datei" ist beispielsweise der Anwendung logisch zugeordnet: Die Anwendung öffnet ein angegebenes Dokument, sobald der Befehl empfangen wird. Der Handler für den Befehl "Öffnen" ist also eine Memberfunktion der Anwendungsklasse. Weitere Informationen zu Befehlen und deren Routing an Objekte finden Sie unter How the Framework Calls a Handler.