Dokumentvorlagen und der Dokument/Ansichts-Erstellungs-Prozess
Um den komplexen Vorgang des Erstellens von Dokumenten mit ihren zugeordneten Sichten und Rahmenfenstern zu verwalten, verwendet das Framework Dokumentvorlagen zwei Klassen: CSingleDocTemplate für SDI-Anwendungen und CMultiDocTemplate für MDI-Anwendungen.CSingleDocTemplate kann ein Dokument von einem Typ auf einmal erstellen und speichern.CMultiDocTemplate verwaltet eine Liste von vielen geöffneten Dokumente eines bestimmten Typs.
Eine Anwendungsunterstützungsmehrfachverbindungsstellendokumenttypen.Eine Anwendung kann z. B. Textdokumente und Grafik Dokumente.In einer solchen Anwendung wenn der Benutzer den neuen Befehl im Menü Datei auswählt, werden in einem Dialogfeld eine Liste möglicher neuen Dokumenttypen auf, um sich selbst zu öffnen.Für jeden unterstützten Dokumenttyps verwendet die Anwendung ein anderes Dokumentvorlagen Objekt.Die folgende Abbildung veranschaulicht die Konfiguration einer MDI-Anwendung mit zwei Dokumenttypen unterstützt und mehrere geöffnete Dokumente angezeigt wird.
MDI-Anwendung mit zwei Dokumenttypen
Dokumentvorlagen werden durch das Anwendungsobjekt erstellt und verwaltet.Eine der Hauptaufgaben, die während InitInstance-Funktion der Anwendung ausgeführt wurden, besteht darin, eine oder mehrere Vorlagen der jeweiligen Art zu erstellen.Der Name dieser Funktion in Dokumentvorlagen-Erstellung beschrieben.Das Anwendungsobjekt speichert einen Zeiger auf eine Dokumentvorlage in der Liste Vorlagen und stellt eine Schnittstelle für das Hinzufügen von Dokumentvorlagen bereit.
Wenn Sie zwei oder mehr Dokumenttypen unterstützen müssen, müssen Sie einen zusätzlichen Aufruf AddDocTemplate für jeden Dokumenttyp hinzu.
Ein Symbol wird für jede Dokumentvorlage auf Grundlage seiner Position in der Liste der Verwendung von Dokumentvorlagen registriert.Die Reihenfolge der Dokumentvorlagen wird durch die Reihenfolge bestimmt, in der sie durch Aufrufe an AddDocTemplate hinzugefügt werden.In MFC wird davon ausgegangen, dass die erste Symbolressource in der Anwendung das Anwendungssymbol wird die folgende Symbolressource ist das erste Dokumentsymbol usw. an.
Beispielsweise ist eine Dokumentvorlage das dritte von drei für die Anwendung.Wenn eine Symbolressource in der Anwendung am Index 3 gibt, wird dieses Symbol für die Dokumentvorlage verwendet.Wenn dies nicht der Fall ist, wird das Symbol am Index 0 wird als Standard verwendet.