Interpretieren der Benutzereingaben in einer Ansicht
Andere Memberfunktionen des Ansichtshandles und interpretieren alle Benutzereingaben. In der Regel definieren Sie Memberfunktionen des Nachrichtenhandlers in Ihrer Ansichtsklasse, die verarbeitet werden sollen:
Windows-Nachrichten , die von Maus- und Tastaturaktionen generiert werden.
Befehle aus Menüs, Symbolleistenschaltflächen und Tastenkombinationen .
Diese Nachrichtenhandler-Memberfunktionen interpretieren die folgenden Aktionen als Dateneingabe, Auswahl oder Bearbeitung, einschließlich des Verschiebens von Daten in und aus der Zwischenablage:
Mausbewegungen und Klicks, Zieh- und Doppelklicks
Tastenanschläge
Menübefehle
Welche Windows-Nachrichten Ihre Ansicht behandelt, hängt von den Anforderungen Ihrer Anwendung ab.
In den Themen "Nachrichtenbehandlung" und "Zuordnung" wird erläutert, wie Sie Menüelemente und andere Benutzeroberflächenobjekte Befehlen zuweisen und wie Sie die Befehle an Handlerfunktionen binden. In den Themen zur Nachrichtenbehandlung und -zuordnung wird auch erläutert, wie MFC Befehle leitet und Standardmäßige Windows-Nachrichten an die Objekte sendet, die Handler für sie enthalten.
Ihre Anwendung muss z. B. die direkte Mauszeichnung in der Ansicht implementieren. Das Scribble-Beispiel zeigt, wie die WM_LBUTTONDOWN, WM_MOUSEMOVE und WM_LBUTTONUP Nachrichten behandelt werden, um die Zeichnung eines Liniensegments zu beginnen, fortzusetzen und zu beenden. Andererseits müssen Sie manchmal einen Mausklick in Ihrer Ansicht als Auswahl interpretieren. Die Handlerfunktion Ihrer Ansicht OnLButtonDown
würde bestimmen, ob der Benutzer zeichnen oder auswählen konnte. Bei auswahl würde der Handler bestimmen, ob sich der Klick innerhalb der Grenzen eines Objekts in der Ansicht befand, und in diesem Fällen die Anzeige so ändern, dass das Objekt als ausgewählt angezeigt wird.
Ihre Ansicht behandelt möglicherweise auch bestimmte Menübefehle, z. B. aus dem Menü "Bearbeiten", um ausgewählte Daten mithilfe der Zwischenablage auszuschneiden, zu kopieren, einzufügen oder zu löschen. Ein solcher Handler würde einige der zwischenablagebezogenen Memberfunktionen der Klasse CWnd
aufrufen, um ein ausgewähltes Datenelement in oder aus der Zwischenablage zu übertragen.