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 CDocumentabgeleitete 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 CWinThreadKlassen. CWinAppselbst wird vom CWinThread 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 CDocTemplateabgeleitet 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 klasse CMultiDocTemplate 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 von CMDIFrameWnd der Anpassung des Standard Rahmenfensters für MDI-Anwendungen ab. Leiten Sie außerdem eine Klasse ab CMDIChildWnd , 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 von CFormView. Verwenden oder ableiten CEditViewSie für einfache Textdaten . Für eine formularbasierte Datenzugriffsanwendung, z. B. ein Dateneingabeprogramm, wird von CRecordView (für ODBC) abgeleitet. Auch verfügbar sind Klassen CTreeView, CListViewund CRichEditView.

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.

Diagram of the objects in a running SDI application.
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