Dokumente, Ansichten und das Framework
Im Mittelpunkt des MFC-Frameworks stehen die Konzepte von Dokument und Ansicht. Ein Dokument ist ein Datenobjekt, mit dem der Benutzer in einer Bearbeitungssitzung interagiert. Sie wird vom Befehl "Neu" oder "Öffnen " im Menü "Datei " erstellt und in der Regel in einer Datei gespeichert. (Von der Klasse CDocument
abgeleitete Standard-MFC-Dokumente unterscheiden sich von aktiven Dokumenten und OLE-Verbunddokumenten.) Eine Ansicht ist ein Fensterobjekt, über das der Benutzer mit einem Dokument interagiert.
Die wichtigsten Objekte in einer ausgeführten Anwendung sind:
Threadobjekte
Wenn Ihre Anwendung separate Ausführungsthreads erstellt, z. B. zum Ausführen von Berechnungen im Hintergrund, verwenden Sie abgeleitete
CWinThread
Klassen.CWinApp
selbst wird vomCWinThread
primären Ausführungsthread (oder dem Standard Prozess) in Ihrer Anwendung abgeleitet. Sie können MFC auch in sekundären Threads verwenden.Das Anwendungsobjekt
Ihre Anwendungsklasse (abgeleitet von
CWinApp
) steuert alle oben genannten Objekte und gibt das Anwendungsverhalten an, z. B. Initialisierung und sauber up. Das einzige Anwendungsobjekt der Anwendung erstellt und verwaltet die Dokumentvorlagen für alle Dokumenttypen, die die Anwendung unterstützt.Die Dokumentvorlage oder -vorlagen
Eine Dokumentvorlage koordiniert die Erstellung von Dokumenten, Ansichten und Rahmenfenstern. Eine bestimmte Dokumentvorlagenklasse, die von der Klasse
CDocTemplate
abgeleitet wird, erstellt und verwaltet alle geöffneten Dokumente eines Typs. Anwendungen, die mehrere Dokumenttypen unterstützen, weisen mehrere Dokumentvorlagen auf. Verwenden Sie die Klasse CSingleDocTemplate für SDI-Anwendungen, oder verwenden Sie klasseCMultiDocTemplate
für MDI-Anwendungen.Die Rahmenfenster
Ansichten werden in "Dokumentrahmenfenstern" angezeigt. In einer SDI-Anwendung ist das Dokumentrahmenfenster auch das "Standard Framefenster" für die Anwendung. In einer MDI-Anwendung sind Dokumentfenster untergeordnete Fenster, die in einem Standard Rahmenfenster angezeigt werden. Die abgeleitete Standard Framefensterklasse gibt die Stile und anderen Merkmale der Rahmenfenster an, die Ihre Ansichten enthalten. Wenn Sie Rahmenfenster anpassen müssen, leiten Sie sie ab
CFrameWnd
, um das Dokumentrahmenfenster für SDI-Anwendungen anzupassen. Leiten Sie vonCMDIFrameWnd
der Anpassung des Standard Rahmenfensters für MDI-Anwendungen ab. Leiten Sie außerdem eine Klasse abCMDIChildWnd
, um jede unterschiedliche Art von MDI-Dokumentrahmenfenstern anzupassen, die Ihre Anwendung unterstützt.Das Dokument oder die Dokumente.
Ihre Dokumentklasse (abgeleitet von
CDocument
) gibt die Daten Ihrer Anwendung an.Wenn Sie die OLE-Funktionalität in Ihrer Anwendung verwenden möchten, leiten Sie ihre Dokumentklasse von
COleDocument
oder einer der abgeleiteten Klassen ab, je nachdem, welche Funktionalität Sie benötigen.Die Ansicht oder Ansichten.
Ihre Ansichtsklasse (abgeleitet von
CView
) ist das "Fenster für die Daten" des Benutzers. Die Ansichtsklasse steuert, wie der Benutzer die Daten Ihres Dokuments sieht und mit ihr interagiert. In einigen Fällen möchten Sie möglicherweise, dass ein Dokument mehrere Ansichten der Daten enthält.Wenn Sie einen Bildlauf benötigen, leiten Sie von
CScrollView
. Wenn Ihre Ansicht über eine Benutzeroberfläche verfügt, die in einer Dialogvorlagenressource angeordnet ist, leiten Sie vonCFormView
. Verwenden oder ableitenCEditView
Sie für einfache Textdaten . Für eine formularbasierte Datenzugriffsanwendung, z. B. ein Dateneingabeprogramm, wird vonCRecordView
(für ODBC) abgeleitet. Auch verfügbar sind KlassenCTreeView
,CListView
undCRichEditView
.
In einer ausgeführten Anwendung reagieren diese Objekte kooperativ auf Benutzeraktionen, die an Befehle und andere Nachrichten gebunden sind. Ein einzelnes Anwendungsobjekt verwaltet eine oder mehrere Dokumentvorlagen. Jede Dokumentvorlage erstellt und verwaltet ein oder mehrere Dokumente (je nachdem, ob die Anwendung SDI oder MDI ist). Der Benutzer zeigt ein Dokument an und bearbeitet es durch eine Ansicht, die in einem Rahmenfenster enthalten ist. Die folgende Abbildung zeigt die Beziehungen zwischen diesen Objekten für eine SDI-Anwendung.
Objekte in einer ausgeführten SDI-Anwendung
In den restlichen Artikeln wird erläutert, wie die Frameworktools, der MFC-Anwendungs-Assistent und die Ressourcen-Editoren diese Objekte erstellen, wie sie zusammenarbeiten und wie Sie sie in Ihrer Programmierung verwenden. Dokumente, Ansichten und Rahmenfenster werden in Fensterobjekten und Dokument-/Ansichtsarchitektur ausführlicher erläutert.
Siehe auch
Verwenden der Klassen zum Schreiben von Anwendungen für Windows