Dokumentvorlagen und der Erstellungsvorgang für Dokumente und Ansichten

Um den komplexen Prozess der Erstellung von Dokumenten mit den zugehörigen Ansichten und Rahmenfenstern zu verwalten, verwendet das Framework zwei Dokumentvorlagenklassen: CSingleDocTemplate für SDI-Anwendungen und CMultiDocTemplate für MDI-Anwendungen. Ein CSingleDocTemplate kann ein Dokument von einem Typ gleichzeitig erstellen und speichern. Ein CMultiDocTemplate behält eine Liste mit vielen geöffneten Dokumenten eines Typs bei.

Einige Anwendungen unterstützen mehrere Dokumenttypen. Beispielsweise kann eine Anwendung Textdokumente und Grafikdokumente unterstützen. Wenn der Benutzer in einer solchen Anwendung im Menü Datei den Befehl Neu auswählt, wird in einem Dialogfeld eine Liste der möglichen neuen Dokumenttypen angezeigt, die geöffnet werden können. Für jeden unterstützten Dokumenttyp verwendet die Anwendung ein eigenes Dokumentvorlagenobjekt. Die folgende Abbildung veranschaulicht die Konfiguration einer MDI-Anwendung, die zwei Dokumenttypen unterstützt, und zeigt mehrere geöffnete Dokumente.

Diagramm einer MDI-Anwendung mit zwei Dokumenttypen.
MDI-Anwendung mit zwei Dokumenttypen

Dokumentvorlagen werden vom Anwendungsobjekt erstellt und verwaltet. Eine der wichtigsten Aufgaben, die während der Funktion Ihrer Anwendung ausgeführt werden, ist das Erstellen einer oder mehrere Dokumentvorlagen InitInstance der entsprechenden Art. Dieses Feature wird unter Dokumentvorlagenerstellung beschrieben. Das Anwendungsobjekt speichert einen Zeiger auf jede Dokumentvorlage in seiner Vorlagenliste und stellt eine Schnittstelle zum Hinzufügen von Dokumentvorlagen bereit.

Wenn Sie zwei oder mehr Dokumenttypen unterstützen müssen, müssen Sie für jeden Dokumenttyp einen zusätzlichen Aufruf von AddDocTemplate hinzufügen.

Ein Symbol wird für jede Dokumentvorlage basierend auf ihrer Position in der Liste der Dokumentvorlagen der Anwendung registriert. Die Reihenfolge der Dokumentvorlagen wird durch die Reihenfolge bestimmt, in der sie mit Aufrufen von hinzugefügt AddDocTemplate werden. MFC geht davon aus, dass die erste Symbolressource in der Anwendung das Anwendungssymbol, die nächste Symbolressource das erste Dokumentsymbol ist und so weiter.

Beispielsweise ist eine Dokumentvorlage die dritte von drei für die Anwendung. Wenn eine Symbolressource in der Anwendung im Index 3 enthalten ist, wird dieses Symbol für die Dokumentvorlage verwendet. Wenn nicht, wird das Symbol am Index 0 als Standard verwendet.

Siehe auch

Allgemeine MFC-Themen
Dokumentvorlagenerstellung
Dokument-/Ansichtserstellung
Beziehungen zwischen MFC-Objekten
Erstellen neuer Dokumente, Windows und Sichten