CDocTemplate
-Klasse
Eine abstrakte Basisklasse, die die grundlegende Funktionalität für Dokumentvorlagen definiert.
Syntax
class CDocTemplate : public CCmdTarget
Member
Geschützte Konstruktoren
Name | Beschreibung |
---|---|
CDocTemplate::CDocTemplate |
Erstellt ein CDocTemplate -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CDocTemplate::AddDocument |
Fügt einer Vorlage ein Dokument hinzu. |
CDocTemplate::CloseAllDocuments |
Schließt alle Dokumente, die dieser Vorlage zugeordnet sind. |
CDocTemplate::CreateNewDocument |
Erstellt ein neues Dokument. |
CDocTemplate::CreateNewFrame |
Erstellt ein neues Rahmenfenster, das ein Dokument und eine Ansicht enthält. |
CDocTemplate::CreateOleFrame |
Erstellt ein OLE-fähiges Framefenster. |
CDocTemplate::CreatePreviewFrame |
Erstellt einen untergeordneten Frame, der für Rich Preview verwendet wird. |
CDocTemplate::GetDocString |
Ruft eine Zeichenfolge ab, die dem Dokumenttyp zugeordnet ist. |
CDocTemplate::GetFirstDocPosition |
Ruft die Position des ersten Dokuments ab, das dieser Vorlage zugeordnet ist. |
CDocTemplate::GetNextDoc |
Ruft ein Dokument und die Position des nächsten dokuments ab. |
CDocTemplate::InitialUpdateFrame |
Initialisiert das Rahmenfenster und macht es optional sichtbar. |
CDocTemplate::LoadTemplate |
Lädt die Ressourcen für eine bestimmte CDocTemplate oder abgeleitete Klasse. |
CDocTemplate::MatchDocType |
Bestimmt den Konfidenzgrad der Übereinstimmung zwischen einem Dokumenttyp und dieser Vorlage. |
CDocTemplate::OpenDocumentFile |
Öffnet eine datei, die durch einen Pfadnamen angegeben wird. |
CDocTemplate::RemoveDocument |
Entfernt ein Dokument aus einer Vorlage. |
CDocTemplate::SaveAllModified |
Speichert alle Dokumente, die dieser Vorlage zugeordnet sind, die geändert wurden. |
CDocTemplate::SetContainerInfo |
Bestimmt die Ressourcen für OLE-Container beim Bearbeiten eines direkten OLE-Elements. |
CDocTemplate::SetDefaultTitle |
Zeigt den Standardtitel in der Titelleiste des Dokumentfensters an. |
CDocTemplate::SetPreviewInfo |
Setups out of process preview handler. |
CDocTemplate::SetServerInfo |
Bestimmt die Ressourcen und Klassen, wenn das Serverdokument eingebettet oder bearbeitet wird. |
Hinweise
In der Regel erstellen Sie eine oder mehrere Dokumentvorlagen in der Implementierung der Funktion Ihrer Anwendung InitInstance
. Eine Dokumentvorlage definiert die Beziehungen zwischen drei Klassentypen:
Eine Dokumentklasse, von der Sie ableiten
CDocument
.Eine Ansichtsklasse, die Daten aus der oben aufgeführten Dokumentklasse anzeigt. Sie können diese Klasse von
CView
, ,CScrollView
,CFormView
oderCEditView
. (Sie können auch direkt verwendenCEditView
.)Eine Framefensterklasse, die die Ansicht enthält. Für eine einzelne Anwendung der Dokumentschnittstelle (Document Interface, SDI) leiten Sie diese Klasse von
CFrameWnd
. Bei einer MDI-Anwendung (Multiple Document Interface) leiten Sie diese Klasse vonCMDIChildWnd
. Wenn Sie das Verhalten des Rahmenfensters nicht anpassen müssen, können Sie es verwenden oderCMDIChildWnd
direkt,CFrameWnd
ohne Ihre eigene Klasse abzuleiten.
Ihre Anwendung verfügt über eine Dokumentvorlage für jeden unterstützten Dokumenttyp. Wenn Ihre Anwendung beispielsweise Tabellenkalkulationen und Textdokumente unterstützt, verfügt die Anwendung über zwei Dokumentvorlagenobjekte. Jede Dokumentvorlage ist für das Erstellen und Verwalten aller Dokumente ihres Typs verantwortlich.
In der Dokumentvorlage werden Zeiger auf die CRuntimeClass
Objekte für die Dokument-, Ansichts- und Rahmenfensterklassen gespeichert. Diese CRuntimeClass
Objekte werden beim Erstellen einer Dokumentvorlage angegeben.
Die Dokumentvorlage enthält die ID der Ressourcen, die mit dem Dokumenttyp verwendet werden (z. B. Menü-, Symbol- oder Zugriffstastentabellenressourcen). Die Dokumentvorlage enthält auch Zeichenfolgen, die zusätzliche Informationen zu ihrem Dokumenttyp enthalten. Dazu gehören der Name des Dokumenttyps (z. B. "Worksheet") und die Dateierweiterung (z. B. ".xls"). Optional kann sie andere Zeichenfolgen enthalten, die von der Benutzeroberfläche der Anwendung, dem Windows-Datei-Manager und der Ole-Unterstützung (Object Linking and Embedding) verwendet werden.
Wenn Ihre Anwendung ein OLE-Container und/oder -Server ist, definiert die Dokumentvorlage auch die ID des Menüs, das während der direkten Aktivierung verwendet wird. Wenn Ihre Anwendung ein OLE-Server ist, definiert die Dokumentvorlage die ID der Symbolleiste und des Menüs, die während der direkten Aktivierung verwendet wird. Sie geben diese zusätzlichen OLE-Ressourcen durch Aufrufen SetContainerInfo
und SetServerInfo
.
Da CDocTemplate
es sich um eine abstrakte Klasse handelt, können Sie die Klasse nicht direkt verwenden. Eine typische Anwendung verwendet eine der beiden CDocTemplate
abgeleiteten Klassen, die von der Microsoft Foundation Class Library bereitgestellt werden: CSingleDocTemplate
, die SDI implementiert und CMultiDocTemplate
die MDI implementiert. Weitere Informationen zur Verwendung von Dokumentvorlagen finden Sie in diesen Klassen.
Wenn Ihre Anwendung ein Benutzeroberflächenparadigma erfordert, das sich grundlegend von SDI oder MDI unterscheidet, können Sie Ihre eigene Klasse ableiten.CDocTemplate
Weitere Informationen CDocTemplate
finden Sie unter "Dokumentvorlagen" und "Dokument/Ansichtserstellungsprozess".
Vererbungshierarchie
CDocTemplate
Anforderungen
Header: afxwin.h
CDocTemplate::AddDocument
Verwenden Sie diese Funktion, um einer Vorlage ein Dokument hinzuzufügen.
virtual void AddDocument(CDocument* pDoc);
Parameter
pDoc
Ein Zeiger auf das Dokument, das hinzugefügt werden soll.
Hinweise
Die abgeleiteten Klassen CMultiDocTemplate
und CSingleDocTemplate
überschreiben diese Funktion. Wenn Sie Ihre eigene Dokumentvorlagenklasse ableiten CDocTemplate
, muss die abgeleitete Klasse diese Funktion überschreiben.
CDocTemplate::CDocTemplate
Erstellt ein CDocTemplate
-Objekt.
CDocTemplate (
UINT nIDResource,
CRuntimeClass* pDocClass,
CRuntimeClass* pFrameClass,
CRuntimeClass* pViewClass);
Parameter
nIDResource
Gibt die ID der ressourcen an, die mit dem Dokumenttyp verwendet werden. Dazu können Menü-, Symbol-, Zugriffstastentabellen- und Zeichenfolgenressourcen gehören.
Die Zeichenfolgenressource besteht aus bis zu sieben Teilzeichenfolgen, die durch das \n
Zeichen getrennt sind (das \n
Zeichen wird als Platzhalter benötigt, wenn keine Teilzeichenfolge enthalten ist; nachfolgende \n
Zeichen sind jedoch nicht erforderlich); diese Teilzeichenfolgen beschreiben den Dokumenttyp. Informationen zu den Teilzeichenfolgen finden Sie unter GetDocString
. Diese Zeichenfolgenressource befindet sich in der Ressourcendatei der Anwendung. Zum Beispiel:
// MYCALC.RC
STRINGTABLE PRELOAD DISCARDABLE
BEGIN
IDR_SHEETTYPE "\nSheet\nWorksheet\nWorksheets (*.myc)\n.myc\n MyCalcSheet\nMyCalc Worksheet"
END
Beachten Sie, dass die Zeichenfolge mit einem \n
Zeichen beginnt. Dies liegt daran, dass die erste Teilzeichenfolge nicht für MDI-Anwendungen verwendet wird und daher nicht enthalten ist. Sie können diese Zeichenfolge mit dem Zeichenfolgen-Editor bearbeiten; die gesamte Zeichenfolge wird als einzelner Eintrag im Zeichenfolgen-Editor und nicht als sieben separate Einträge angezeigt.
pDocClass
Verweist auf das CRuntimeClass
Objekt der Dokumentklasse. Diese Klasse ist eine CDocument
abgeleitete Klasse, die Sie zum Darstellen Ihrer Dokumente definieren.
pFrameClass
Verweist auf das CRuntimeClass
Objekt der Framefensterklasse. Diese Klasse kann eine CFrameWnd
abgeleitete Klasse sein, oder sie kann sich selbst sein CFrameWnd
, wenn Sie das Standardverhalten für das Hauptframefenster wünschen.
pViewClass
Verweist auf das CRuntimeClass
Objekt der Ansichtsklasse. Diese Klasse ist eine CView
abgeleitete Klasse, die Sie zum Anzeigen Ihrer Dokumente definieren.
Hinweise
Verwenden Sie diese Memberfunktion, um ein CDocTemplate
Objekt zu erstellen. Weisen Sie ein CDocTemplate
Objekt dynamisch zu CWinApp::AddDocTemplate
, und übergeben Sie es an die InitInstance
Memberfunktion Ihrer Anwendungsklasse.
CDocTemplate::CloseAllDocuments
Rufen Sie diese Memberfunktion auf, um alle geöffneten Dokumente zu schließen.
virtual void CloseAllDocuments(BOOL bEndSession);
Parameter
bEndSession
Wird nicht verwendet.
Hinweise
Diese Memberfunktion wird in der Regel als Teil des Befehls "Dateiende" verwendet. Die Standardimplementierung dieser Funktion ruft die CDocument::DeleteContents
Memberfunktion auf, um die Daten des Dokuments zu löschen, und schließt dann die Framefenster für alle ansichten, die dem Dokument zugeordnet sind.
Überschreiben Sie diese Funktion, wenn Der Benutzer vor dem Schließen des Dokuments eine spezielle Bereinigungsverarbeitung durchführen soll. Wenn das Dokument beispielsweise einen Datensatz in einer Datenbank darstellt, können Sie diese Funktion überschreiben, um die Datenbank zu schließen.
CDocTemplate::CreateNewDocument
Rufen Sie diese Memberfunktion auf, um ein neues Dokument des Typs zu erstellen, der dieser Dokumentvorlage zugeordnet ist.
virtual CDocument* CreateNewDocument();
Rückgabewert
Ein Zeiger auf das neu erstellte Dokument oder NULL
wenn ein Fehler auftritt.
CDocTemplate::CreateNewFrame
Erstellt ein neues Rahmenfenster, das ein Dokument und eine Ansicht enthält.
virtual CFrameWnd* CreateNewFrame(
CDocument* pDoc,
CFrameWnd* pOther);
Parameter
pDoc
Das Dokument, auf das sich das neue Rahmenfenster beziehen soll. Kann NULL
sein.
pOther
Das Rahmenfenster, auf dem das neue Rahmenfenster basiert. Kann NULL
sein.
Rückgabewert
Ein Zeiger auf das neu erstellte Framefenster oder NULL
wenn ein Fehler auftritt.
Hinweise
CreateNewFrame
verwendet die CRuntimeClass
objekte, die an den Konstruktor übergeben werden, um ein neues Framefenster mit einer ansicht und einem Dokument zu erstellen. Wenn der pDoc
Parameter lautet NULL
, gibt das Framework eine Nachricht aus TRACE
.
Der pOther
Parameter wird verwendet, um den Befehl "Fenster neu" zu implementieren. Es stellt ein Rahmenfenster bereit, in dem das neue Rahmenfenster modellieren soll. Das neue Rahmenfenster wird in der Regel unsichtbar erstellt. Rufen Sie diese Funktion auf, um Framefenster außerhalb der Standardframeworkimplementierung von File New und File Open zu erstellen.
CDocTemplate::CreateOleFrame
Erstellt ein OLE-Framefenster.
CFrameWnd* CreateOleFrame(
CWnd* pParentWnd,
CDocument* pDoc,
BOOL bCreateView);
Parameter
pParentWnd
Ein Zeiger auf das übergeordnete Fenster des Frames.
pDoc
Ein Zeiger auf das Dokument, auf das sich das neue OLE-Framefenster beziehen soll.
bCreateView
Bestimmt, ob eine Ansicht zusammen mit dem Frame erstellt wird.
Rückgabewert
Ein Zeiger auf ein Rahmenfenster bei erfolgreicher Ausführung; andernfalls NULL
.
Hinweise
Wenn bCreateView
null ist, wird ein leerer Frame erstellt.
CDocTemplate::GetDocString
Ruft eine Zeichenfolge ab, die dem Dokumenttyp zugeordnet ist.
virtual BOOL GetDocString(
CString& rString,
enum DocStringIndex index) const;
Parameter
rString
Ein Verweis auf ein CString
Objekt, das die Zeichenfolge enthält, wenn die Funktion zurückgegeben wird.
index
Ein Index der Teilzeichenfolge, die aus der Zeichenfolge abgerufen wird, die den Dokumenttyp beschreibt. Dieser Parameter kann einen der folgenden Werte aufweisen:
CDocTemplate::windowTitle
Name, der in der Titelleiste des Anwendungsfensters angezeigt wird (z. B. "Microsoft Excel"). Nur in der Dokumentvorlage für SDI-Anwendungen vorhanden.CDocTemplate::docName
Stamm für den Standarddokumentnamen (z. B. "Sheet"). Dieser Stamm und eine Zahl werden für den Standardnamen eines neuen Dokuments dieses Typs verwendet, wenn der Benutzer im Menü "Datei" den Befehl "Neu" auswählt (z. B. "Sheet1" oder "Sheet2"). Wenn nicht angegeben, wird "Unbenannt" als Standard verwendet.CDocTemplate::fileNewName
Name dieses Dokumenttyps. Wenn die Anwendung mehrere Dokumenttypen unterstützt, wird diese Zeichenfolge im Dialogfeld "Datei neu " angezeigt (z. B. "Arbeitsblatt"). Wenn nicht angegeben, kann auf den Dokumenttyp nicht mithilfe des Befehls "Neu speichern" zugegriffen werden.CDocTemplate::filterName
Beschreibung des Dokumenttyps und eines mit einem Wildcardfilter übereinstimmenden Dokumenten dieses Typs. Diese Zeichenfolge wird in der Dropdownliste "Dateityp " im Dialogfeld "Datei öffnen " angezeigt (z. B. "Arbeitsblätter (*.xls)"). Wenn nicht angegeben, kann auf den Dokumenttyp nicht mithilfe des Befehls "Datei öffnen " zugegriffen werden.CDocTemplate::filterExt
Erweiterung für Dokumente dieses Typs (z. B. ".xls"). Wenn nicht angegeben, kann auf den Dokumenttyp nicht mithilfe des Befehls "Datei öffnen " zugegriffen werden.CDocTemplate::regFileTypeId
Bezeichner für den Dokumenttyp, der in der Registrierungsdatenbank gespeichert werden soll, die von Windows verwaltet wird. Diese Zeichenfolge ist nur für die interne Verwendung vorgesehen (z. B. "ExcelWorksheet"). Wenn nicht angegeben, kann der Dokumenttyp nicht beim Windows-Datei-Manager registriert werden.CDocTemplate::regFileTypeName
Der Name des Dokumenttyps, der in der Registrierungsdatenbank gespeichert werden soll. Diese Zeichenfolge kann in Dialogfeldern von Anwendungen angezeigt werden, die auf die Registrierungsdatenbank zugreifen (z. B. "Microsoft Excel-Arbeitsblatt").
Rückgabewert
Nonzero, wenn die angegebene Teilzeichenfolge gefunden wurde; andernfalls 0.
Hinweise
Rufen Sie diese Funktion auf, um eine bestimmte Teilzeichenfolge abzurufen, die den Dokumenttyp beschreibt. Die Zeichenfolge, die diese Teilzeichenfolgen enthält, wird in der Dokumentvorlage gespeichert und von einer Zeichenfolge in der Ressourcendatei für die Anwendung abgeleitet. Das Framework ruft diese Funktion auf, um die Zeichenfolgen abzurufen, die sie für die Benutzeroberfläche der Anwendung benötigt. Wenn Sie eine Dateinamenerweiterung für die Dokumente Ihrer Anwendung angegeben haben, ruft das Framework diese Funktion auch beim Hinzufügen eines Eintrags zur Windows-Registrierungsdatenbank auf. Auf diese Weise können Dokumente aus dem Windows-Datei-Manager geöffnet werden.
Rufen Sie diese Funktion nur auf, wenn Sie Ihre eigene Klasse von CDocTemplate
.
CDocTemplate::GetFirstDocPosition
Ruft die Position des ersten Dokuments ab, das dieser Vorlage zugeordnet ist.
virtual POSITION GetFirstDocPosition() const = 0;
Rückgabewert
Ein POSITION
Wert, der zum Durchlaufen der Liste der Dokumente verwendet werden kann, die dieser Dokumentvorlage zugeordnet sind, oder NULL
wenn die Liste leer ist.
Hinweise
Verwenden Sie diese Funktion, um die Position des ersten Dokuments in der Liste der Dokumente abzurufen, die dieser Vorlage zugeordnet sind. Verwenden Sie den POSITION
Wert als Argument, um die Liste der dokumente zu CDocTemplate::GetNextDoc
durchlaufen, die der Vorlage zugeordnet sind.
CSingleDocTemplate
und CMultiDocTemplate
beide überschreiben diese reine virtuelle Funktion. Jede Klasse, von der CDocTemplate
Sie abgeleitet werden, muss diese Funktion auch überschreiben.
CDocTemplate::GetNextDoc
Ruft das von rPos
diesem identifizierte Listenelement ab, und legt dann den POSITION
Wert des nächsten Eintrags in der Liste festrPos
.
virtual CDocument* GetNextDoc(POSITION& rPos) const = 0;
Rückgabewert
Ein Zeiger auf das nächste Dokument in der Liste der Dokumente, die dieser Vorlage zugeordnet sind.
Parameter
rPos
Ein Verweis auf einen POSITION
Wert, der von einem vorherigen Aufruf GetFirstDocPosition
von oder GetNextDoc
.
Hinweise
Wenn das abgerufene Element der letzte in der Liste ist, wird der neue Wert rPos
auf .NULL
Sie können in einer Vorwärts iterationsschleife verwenden GetNextDoc
, wenn Sie die Anfangsposition mit einem Aufruf einrichten GetFirstDocPosition
.
Sie müssen sicherstellen, dass Ihr POSITION
Wert eine gültige Position in der Liste darstellt. Wenn sie ungültig ist, wird die Debugversion der Microsoft Foundation-Klassenbibliothek bestätigt.
CDocTemplate::InitialUpdateFrame
Initialisiert das Rahmenfenster und macht es optional sichtbar.
virtual void InitialUpdateFrame(
CFrameWnd* pFrame,
CDocument* pDoc,
BOOL bMakeVisible = TRUE);
Parameter
pFrame
Das Framefenster, das die anfängliche Aktualisierung benötigt.
pDoc
Das Dokument, dem der Frame zugeordnet ist. Kann NULL
sein.
bMakeVisible
Gibt an, ob der Frame sichtbar und aktiv werden soll.
Hinweise
Rufen Sie IntitialUpdateFrame
nach dem Erstellen eines neuen Frames mit CreateNewFrame
. Das Aufrufen dieser Funktion bewirkt, dass die Ansichten in diesem Framefenster ihre OnInitialUpdate
Anrufe empfangen. Wenn zuvor keine aktive Ansicht vorhanden war, wird auch die primäre Ansicht des Framefensters aktiviert. Die primäre Ansicht ist eine Ansicht mit einer untergeordneten ID von AFX_IDW_PANE_FIRST
. Schließlich wird das Rahmenfenster sichtbar gemacht, wenn bMakeVisible
es sich nicht um Null handelt. Wenn bMakeVisible
null ist, bleibt der aktuelle Fokus und der sichtbare Zustand des Framefensters unverändert.
Es ist nicht erforderlich, diese Funktion aufzurufen, wenn sie die Implementierung von "File New" und "File Open" des Frameworks verwendet.
CDocTemplate::LoadTemplate
Lädt die Ressourcen für eine bestimmte CDocTemplate
oder abgeleitete Klasse.
virtual void LoadTemplate();
Hinweise
Diese Memberfunktion wird vom Framework aufgerufen, um die Ressourcen für eine bestimmte CDocTemplate
oder abgeleitete Klasse zu laden. Normalerweise wird sie während der Konstruktion aufgerufen, außer wenn die Vorlage global erstellt wird. In diesem Fall wird der Anruf LoadTemplate
verzögert, bis CWinApp::AddDocTemplate
er aufgerufen wird.
CDocTemplate::MatchDocType
Bestimmt den Konfidenzgrad der Übereinstimmung zwischen einem Dokumenttyp und dieser Vorlage.
virtual Confidence MatchDocType(
LPCTSTR lpszPathName,
CDocument*& rpDocMatch);
Parameter
lpszPathName
Pfadname der Datei, deren Typ bestimmt werden soll.
rpDocMatch
Zeigen Sie auf ein Dokument, dem das entsprechende Dokument zugewiesen ist, wenn die von lpszPathName
ihnen angegebene Datei bereits geöffnet ist.
Rückgabewert
Ein Wert aus der Aufzählung, der Confidence
wie folgt definiert ist:
enum Confidence
{
noAttempt,
maybeAttemptForeign,
maybeAttemptNative,
yesAttemptForeign,
yesAttemptNative,
yesAlreadyOpen
};
Hinweise
Verwenden Sie diese Funktion, um den Typ der Dokumentvorlage zu bestimmen, die zum Öffnen einer Datei verwendet werden soll. Wenn Ihre Anwendung z. B. mehrere Dateitypen unterstützt, können Sie diese Funktion verwenden, um zu bestimmen, welche der verfügbaren Dokumentvorlagen für eine bestimmte Datei geeignet ist, indem Sie nacheinander jede Vorlage aufrufen MatchDocType
und eine Vorlage entsprechend dem zurückgegebenen Konfidenzwert auswählen.
Wenn die durch lpszPathName
die angegebene Datei bereits geöffnet ist, gibt diese Funktion das Objekt der Datei CDocument
zurück CDocTemplate::yesAlreadyOpen
und kopiert es in das Objekt unter rpDocMatch
.
Wenn die Datei nicht geöffnet ist, die Erweiterung lpszPathName
aber mit der durch die Erweiterung angegebenen CDocTemplate::filterExt
Erweiterung übereinstimmt, gibt diese Funktion zurück CDocTemplate::yesAttemptNative
und legt sie auf rpDocMatch
NULL
fest. Weitere Informationen zu CDocTemplate::filterExt
finden Sie unter CDocTemplate::GetDocString
.
Wenn kein Fall wahr ist, gibt die Funktion zurück CDocTemplate::yesAttemptForeign
.
Die Standardimplementierung gibt nicht zurück CDocTemplate::maybeAttemptForeign
oder CDocTemplate::maybeAttemptNative
. Überschreiben Sie diese Funktion, um Typabgleichslogik zu implementieren, die für Ihre Anwendung geeignet ist, z. B. die Verwendung dieser beiden Werte aus der Confidence
Enumeration.
CDocTemplate::OpenDocumentFile
Öffnet eine datei, die durch einen Pfad angegeben wird.
virtual CDocument* OpenDocumentFile(LPCTSTR lpszPathName) = 0;
virtual CDocument* OpenDocumentFile(
LPCTSTR lpszPathName,
BOOL bAddToMRU) = 0;
Parameter
lpszPathName
[in] Zeigen Sie auf den Pfad der Datei, die das zu öffnende Dokument enthält.
bAddToMRU
[in] TRUE
gibt an, dass das Dokument eine der aktuellsten Dateien ist; FALSE
gibt an, dass das Dokument keine der aktuellsten Dateien ist.
Rückgabewert
Ein Zeiger auf das Dokument, dessen Datei durch lpszPathName
NULL
; wenn nicht erfolgreich benannt wird.
Hinweise
Öffnet die Datei, deren Pfad durch lpszPathName
angegeben wird. Wenn lpszPathName
dies der Fall ist NULL
, wird eine neue Datei erstellt, die ein Dokument des Typs enthält, der dieser Vorlage zugeordnet ist.
CDocTemplate::RemoveDocument
Entfernt das Dokument, auf pDoc
das verwiesen wird, aus der Liste der Dokumente, die dieser Vorlage zugeordnet sind.
virtual void RemoveDocument(CDocument* pDoc);
Parameter
pDoc
Zeigen Sie auf das Dokument, das entfernt werden soll.
Hinweise
Die abgeleiteten Klassen CMultiDocTemplate
und CSingleDocTemplate
überschreiben diese Funktion. Wenn Sie Ihre eigene Dokumentvorlagenklasse ableiten CDocTemplate
, muss die abgeleitete Klasse diese Funktion überschreiben.
CDocTemplate::SaveAllModified
Speichert alle Dokumente, die geändert wurden.
virtual BOOL SaveAllModified();
Rückgabewert
Ungleich Null bei erfolgreicher Ausführung; andernfalls 0.
CDocTemplate::SetContainerInfo
Bestimmt die Ressourcen für OLE-Container beim Bearbeiten eines direkten OLE-Elements.
void SetContainerInfo(UINT nIDOleInPlaceContainer);
Parameter
nIDOleInPlaceContainer
Die ID der Ressourcen, die verwendet werden, wenn ein eingebettetes Objekt aktiviert wird.
Hinweise
Rufen Sie diese Funktion auf, um die Ressourcen festzulegen, die verwendet werden sollen, wenn ein OLE-Objekt aktiviert ist. Diese Ressourcen können Menüs und Zugriffstastentabellen enthalten. Diese Funktion wird in der Regel in der CWinApp::InitInstance
Funktion Ihrer Anwendung aufgerufen.
Das dem Menü zugeordnete nIDOleInPlaceContainer
Menü enthält Trennzeichen, mit denen das Menü des aktivierten direkten Elements mit dem Menü der Containeranwendung zusammengeführt werden kann. Weitere Informationen zum Zusammenführen von Server- und Containermenüs finden Sie im Artikel "Menus and Resources (OLE)".
CDocTemplate::SetDefaultTitle
Rufen Sie diese Funktion auf, um den Standardtitel des Dokuments zu laden und in der Titelleiste des Dokuments anzuzeigen.
virtual void SetDefaultTitle(CDocument* pDocument) = 0;
Parameter
pDocument
Zeigen Sie auf das Dokument, dessen Titel festgelegt werden soll.
Hinweise
Informationen zum Standardtitel finden Sie in der Beschreibung in CDocTemplate::docName
CDocTemplate::GetDocString
.
CDocTemplate::SetServerInfo
Bestimmt die Ressourcen und Klassen, wenn das Serverdokument eingebettet oder bearbeitet wird.
void SetServerInfo(
UINT nIDOleEmbedding,
UINT nIDOleInPlaceServer = 0,
CRuntimeClass* pOleFrameClass = NULL,
CRuntimeClass* pOleViewClass = NULL);
Parameter
nIDOleEmbedding
Die ID der Ressourcen, die verwendet werden, wenn ein eingebettetes Objekt in einem separaten Fenster geöffnet wird.
nIDOleInPlaceServer
Die ID der Ressourcen, die verwendet werden, wenn ein eingebettetes Objekt aktiviert wird.
pOleFrameClass
Zeigen Sie auf eine CRuntimeClass
Struktur, die Klasseninformationen für das Framefensterobjekt enthält, das bei der direkten Aktivierung erstellt wurde.
pOleViewClass
Zeigen Sie auf eine CRuntimeClass
Struktur, die Klasseninformationen für das Ansichtsobjekt enthält, das bei der direkten Aktivierung erstellt wurde.
Hinweise
Rufen Sie diese Memberfunktion auf, um Ressourcen zu identifizieren, die von der Serveranwendung verwendet werden, wenn der Benutzer die Aktivierung eines eingebetteten Objekts anfordert. Diese Ressourcen bestehen aus Menüs und Zugriffstastentabellen. Diese Funktion wird in der Regel in der InitInstance
Anwendung aufgerufen.
Das Menü, das mit nIDOleInPlaceServer
dem Menü verknüpft ist, enthält Trennzeichen, mit denen das Servermenü mit dem Menü des Containers zusammengeführt werden kann. Weitere Informationen zum Zusammenführen von Server- und Containermenüs finden Sie im Artikel "Menus and Resources (OLE)".
CDocTemplate::CreatePreviewFrame
Erstellt einen untergeordneten Frame, der für Rich Preview verwendet wird.
CFrameWnd* CreatePreviewFrame(
CWnd* pParentWnd,
CDocument* pDoc);
Parameter
pParentWnd
Ein Zeiger auf ein übergeordnetes Fenster (in der Regel von der Shell bereitgestellt).
pDoc
Ein Zeiger auf ein Dokumentobjekt, dessen Inhalt in der Vorschau angezeigt wird.
Rückgabewert
Ein gültiger Zeiger auf ein CFrameWnd
Objekt oder NULL, wenn die Erstellung fehlschlägt.
Hinweise
CDocTemplate::SetPreviewInfo
Richtet den Out of Process Preview-Handler ein.
void SetPreviewInfo(
UINT nIDPreviewFrame,
CRuntimeClass* pPreviewFrameClass = NULL,
CRuntimeClass* pPreviewViewClass = NULL);
Parameter
nIDPreviewFrame
Gibt eine Ressourcen-ID des Vorschauframes an.
pPreviewFrameClass
Gibt einen Zeiger auf eine Laufzeitklasseninformationsstruktur des Vorschauframes an.
pPreviewViewClass
Gibt einen Zeiger auf eine Laufzeitklasseninformationsstruktur der Vorschauansicht an.
Hinweise
Siehe auch
CCmdTarget
Klasse
Hierarchiediagramm
CSingleDocTemplate
Klasse
CMultiDocTemplate
Klasse
CDocument
Klasse
CView
Klasse
CScrollView
Klasse
CEditView
Klasse
CFormView
Klasse
CFrameWnd
Klasse
CMDIChildWnd
Klasse