CView

Die CView -Klasse stellt die Basisfunktionen für benutzerdefinierte Ansichtsklassen. Eine Ansicht ist an ein Dokument angehängt und fungiert als Vermittler zwischen dem Dokument und dem Benutzer: die Ansicht rendert ein Bild des Dokuments auf dem Bildschirm oder Drucker und interpretiert Benutzereingaben als Vorgänge auf das Dokument.

Eine Ansicht ist ein untergeordnetes Element des ein Rahmenfenster. Mehr als eine Auffassung kann ein Rahmenfenster, wie im Fall von einem Splitterfenster. Die Beziehung zwischen einer Ansichtsklasse und ein Frame-Fenster-Klasse eine Dokumentenklasse wird durch ein CDocTemplate -Objekt festgelegt. Wenn der Benutzer öffnet ein neues Fenster oder teilt eine vorhandene einerseits das Framework erstellt eine neue Ansicht und fügt sie an das Dokument.

Eine Sicht kann nur ein Dokument angefügt werden, aber ein Dokument kann mehrere Ansichten gleichzeitig angeschlossen haben – zum Beispiel, wenn das Dokument in einem unterteilten Fenster oder mehrere untergeordnete Fenster in einer Anwendung multiple Document Interface (MDI) angezeigt wird. Ihre Anwendung kann verschiedene Typen von Ansichten für einen bestimmten Dokumenttyp unterstützen; ein Textverarbeitungsprogramm könnte beispielsweise bieten eine vollständige Textansicht eines Dokuments und eine Gliederungsansicht, die nur die Abschnittsüberschriften zeigt. Diese verschiedenen Typen von Ansichten können gebracht werden in separaten Frame-Fenstern oder in separaten Fenstern von einem einzelnen Frame-Fenster, wenn Sie einem unterteilten Fenster verwenden.

Eine Ansicht möglicherweise verantwortlich für die Behandlung von verschiedener Typen von Eingaben, wie Tastatureingaben, Mauseingaben oder Eingabe per Drag-and-Drop sowie Befehle aus Menüs, Symbolleisten und Bildlaufleisten. Eine Ansicht erhält Befehle von einem Frame-Fenster weitergeleitet. Wenn die Ansicht keinen bestimmten Befehl verarbeitet, leitet er den Befehl an das zugeordnete Dokument. Wie alle Befehlsziele verarbeitet eine Ansicht Nachrichten über eine Meldungszuordnung.

Die Ansicht ist verantwortlich für das Anzeigen und Ändern von Daten des Dokuments jedoch nicht für speichern. Das Dokument enthält die Ansicht mit den notwendigen Informationen über seine Daten. Sie können den Zugriff anzeigen lassen, direkt Datenmember des Dokuments, oder die Sie Memberfunktionen in der Dokumentklasse für die View-Klasse aufrufen zu können.

Wenn ein Dokument Daten ändert, ruft die Ansicht für die Änderungen normalerweise die Funktion CDocument:: UpdateAllViews für das Dokument, das alle anderen Ansichten benachrichtigt, indem er die OnUpdate -Memberfunktion für jedes. Die Standardimplementierung der OnUpdate macht die Ansicht des gesamten Clientbereich ungültig. Sie können es nur jene Bereiche der Clientbereich für ungültig erklären, die die veränderten Teile des Dokuments zugeordnet, überschreiben.

CView, daraus eine Klasse ableiten und implementieren die OnDraw -Memberfunktion Bildschirmanzeige ausführen. Sie können auch OnDraw verwenden, zu drucken und Vorschau ausführen. Das Framework behandelt die Druckschleife für Drucken und Vorschau Ihres Dokuments.

Eine Ansicht verarbeitet Bildlaufleiste Nachrichten mit den Memberfunktionen CWnd::OnHScroll und CWnd::OnVScroll . Sie können Scroll-Bar Nachrichtenbehandlung in diese Funktionen implementieren oder Sie können die von CView abgeleiteten Klasse CScrollView behandeln Bildlauf für Sie.

Außerdem bietet CScrollView, die Microsoft Foundation Class-Bibliothek neun andere von CView abgeleiteten Klassen:

Der CView Class hat auch eine abgeleitete Implementierung-Klasse mit dem &Namen CPreviewView, die vom Framework zur Seitenansicht durchführen. Diese Klasse stellt Unterstützung für die Features, die einzigartig für das Seitenansichtsfenster, z. B. eine Symbolleiste, Einzel - oder Doppel-Seite Vorschau, und Zoomen, ist, dass das Vorschaubild vergrößern. Du musst nicht aufrufen oder Überschreiben eines CPreviewViewMemberfunktionen, sofern Sie Ihre eigene Schnittstelle für print Previewnbsp implementieren möchten; (zum Beispiel möchten Sie bearbeiten in der Seitenansicht-Modus unterstützt). Weitere Informationen zur Verwendung von CView, finden Sie unter Document/View-Architektur-Themen und Printing im Visual C++ Programmer's Guide. Darüber hinaus finden Sie unter technische Anmerkung 30 für weitere Informationen zum Anpassen von Seitenansicht.

# include lt;afxwin.h>

Klasse&nmember |nbsp; Basisklasse | Hierarchiediagramm

Proben&Nbsp; MFC-Beispiel HELLO | MFC-Beispiel MDIBIND | MFC MDIDOCVW-Beispiel

Siehe auch&Nbsp;CWnd, CFrameWnd, CSplitterWnd, CDC, CDocTemplate, CDocument

Index