CDocument-Klasse

Stellt die grundlegende Funktionalität für benutzerdefinierte Dokumentklassen bereit.

Syntax

class CDocument : public CCmdTarget

Member

Öffentliche Konstruktoren

name Beschreibung
CDocument::CDocument Erstellt ein CDocument-Objekt.

Öffentliche Methoden

name Beschreibung
CDocument::AddView Fügt eine Ansicht an das Dokument an.
CDocument::BeginReadChunks Initialisiert blocklese.
CDocument::CanCloseFrame Erweitert überschreibbar; wird aufgerufen, bevor ein Rahmenfenster geschlossen wird, in dem dieses Dokument angezeigt wird.
CDocument::ClearChunkList Löscht die Blockliste.
CDocument::ClearPathName Löscht den Pfad des Dokumentobjekts.
CDocument::DeleteContents Wird aufgerufen, um eine Bereinigung des Dokuments durchzuführen.
CDocument::FindChunk Sucht nach einem Block mit angegebener GUID.
CDocument::GetAdapter Gibt einen Zeiger auf das Objekt zurück, das die IDocument Schnittstelle implementiert.
CDocument::GetDocTemplate Gibt einen Zeiger auf die Dokumentvorlage zurück, die den Typ des Dokuments beschreibt.
CDocument::GetFile Gibt einen Zeiger auf das gewünschte CFile Objekt zurück.
CDocument::GetFirstViewPosition Gibt die Position des ersten in der Liste der Ansichten zurück. wird zum Starten der Iteration verwendet.
CDocument::GetNextView Durchläuft die Liste der dem Dokument zugeordneten Ansichten.
CDocument::GetPathName Gibt den Pfad der Datendatei des Dokuments zurück.
CDocument::GetThumbnail Wird aufgerufen, um eine Bitmap zu erstellen, die vom Miniaturansichtsanbieter zum Anzeigen von Miniaturansichten verwendet werden soll.
CDocument::GetTitle Gibt den Titel des Dokuments zurück.
CDocument::InitializeSearchContent Wird aufgerufen, um suchinhalt für den Suchhandler zu initialisieren.
CDocument::IsModified Gibt an, ob das Dokument seit dem letzten Speichern geändert wurde.
CDocument::IsSearchAndOrganizeHandler Gibt an, ob diese Instanz des CDocument Objekts für den Handler Search & Organize erstellt wurde.
CDocument::LoadDocumentFromStream Wird aufgerufen, um Dokumentdaten aus dem Stream zu laden.
CDocument::OnBeforeRichPreviewFontChanged Wird aufgerufen, bevor die Rich Preview-Schriftart geändert wird.
CDocument::OnChangedViewList Wird aufgerufen, nachdem dem Dokument eine Ansicht hinzugefügt oder daraus entfernt wurde.
CDocument::OnCloseDocument Wird aufgerufen, um das Dokument zu schließen.
CDocument::OnCreatePreviewFrame Wird vom Framework aufgerufen, wenn ein Vorschauframe für Rich Preview erstellt werden muss.
CDocument::OnDocumentEvent Wird vom Framework als Reaktion auf ein Dokumentereignis aufgerufen.
CDocument::OnDrawThumbnail Überschreiben Sie diese Methode in einer abgeleiteten Klasse, um den Inhalt der Miniaturansicht zu zeichnen.
CDocument::OnLoadDocumentFromStream Wird vom Framework aufgerufen, wenn die Dokumentdaten aus dem Stream geladen werden müssen.
CDocument::OnNewDocument Wird aufgerufen, um ein neues Dokument zu erstellen.
CDocument::OnOpenDocument Wird aufgerufen, um ein vorhandenes Dokument zu öffnen.
CDocument::OnPreviewHandlerQueryFocus Leitet den Vorschauhandler an, vom HWND Aufrufen der Funktion zurück zu GetFocus geben.
CDocument::OnPreviewHandlerTranslateAccelerator Leitet den Vorschauhandler an, eine Tastatureingabe zu verarbeiten, die vom Nachrichtenpump des Prozesses übergeben wird, in dem der Vorschauhandler ausgeführt wird.
CDocument::OnRichPreviewBackColorChanged Wird aufgerufen, wenn sich die Hintergrundfarbe von Rich Preview geändert hat.
CDocument::OnRichPreviewFontChanged Wird aufgerufen, wenn sich die Rich Preview-Schriftart geändert hat.
CDocument::OnRichPreviewSiteChanged Wird aufgerufen, wenn sich die Rich Preview-Website geändert hat.
CDocument::OnRichPreviewTextColorChanged Wird aufgerufen, wenn sich die Rich Preview-Textfarbe geändert hat.
CDocument::OnSaveDocument Wird aufgerufen, um das Dokument auf dem Datenträger zu speichern.
CDocument::OnUnloadHandler Wird vom Framework aufgerufen, wenn der Vorschauhandler entladen wird.
CDocument::PreCloseFrame Wird aufgerufen, bevor das Rahmenfenster geschlossen wird.
CDocument::ReadNextChunkValue Liest den nächsten Blockwert.
CDocument::ReleaseFile Gibt eine Datei frei, um sie zur Verwendung durch andere Anwendungen verfügbar zu machen.
CDocument::RemoveChunk Entfernt einen Block mit dem angegebenen GUID .
CDocument::RemoveView Trennt eine Ansicht vom Dokument.
CDocument::ReportSaveLoadException Erweitert überschreibbar; wird aufgerufen, wenn ein Vorgang zum Öffnen oder Speichern aufgrund einer Ausnahme nicht abgeschlossen werden kann.
CDocument::SaveModified Erweitert überschreibbar; wird aufgerufen, um den Benutzer zu fragen, ob das Dokument gespeichert werden soll.
CDocument::SetChunkValue Legt einen Blockwert fest.
CDocument::SetModifiedFlag Legt ein Flag fest, das angibt, dass Sie das Dokument seit dem letzten Speichern geändert haben.
CDocument::SetPathName Legt den Pfad der vom Dokument verwendeten Datendatei fest.
CDocument::SetTitle Legt den Titel des Dokuments fest.
CDocument::UpdateAllViews Benachrichtigt alle Ansichten, dass das Dokument geändert wurde.

Geschützte Methoden

Name Beschreibung
CDocument::OnFileSendMail Sendet eine E-Mail-Nachricht mit dem angefügten Dokument.
CDocument::OnUpdateFileSendMail Aktiviert den Befehl E-Mail senden, wenn E-Mail-Unterstützung vorhanden ist.

Öffentliche Datenmember

Name Beschreibung
CDocument::m_bGetThumbnailMode Gibt an, dass das CDocument Objekt von dllhost für Miniaturansichten erstellt wurde. Sollte in eingecheckt CView::OnDraw werden.
CDocument::m_bPreviewHandlerMode Gibt an, dass das CDocument Objekt von prevhost für erstellt Rich Preview wurde. Sollte in eingecheckt CView::OnDraw werden.
CDocument::m_bSearchMode Gibt an, dass das CDocument Objekt vom Indexer oder einer anderen Suchanwendung erstellt wurde.
CDocument::m_clrRichPreviewBackColor Gibt die Hintergrundfarbe des Rich Preview-Fensters an. Diese Farbe wird vom Host festgelegt.
CDocument::m_clrRichPreviewTextColor Gibt die Vordergrundfarbe des Rich Preview-Fensters an. Diese Farbe wird vom Host festgelegt.
CDocument::m_lfRichPreviewFont Gibt die Textschriftart für das Rich Preview-Fenster an. Diese Schriftartinformationen werden vom Host festgelegt.

Hinweise

Ein Dokument stellt die Dateneinheit dar, die der Benutzer normalerweise mit dem Befehl Datei öffnen öffnet und mit dem Befehl Datei speichern speichert.

CDocument unterstützt Standardvorgänge wie das Erstellen, Laden und Speichern eines Dokuments. Das Framework bearbeitet Dokumente mithilfe der durch definierten CDocument Schnittstelle.

Eine Anwendung kann mehrere Dokumenttypen unterstützen. Beispielsweise kann eine Anwendung sowohl Kalkulationstabellen als auch Textdokumente unterstützen. Jedem Dokumenttyp ist eine Dokumentvorlage zugeordnet. Die Dokumentvorlage gibt an, welche Ressourcen (z. B. Menü, Symbol oder Zugriffstastentabelle) für diesen Dokumenttyp verwendet werden. Jedes Dokument enthält einen Zeiger auf das zugeordnete CDocTemplate Objekt.

Benutzer interagieren mit einem Dokument über die CView zugeordneten Objekte. Eine Ansicht rendert ein Bild des Dokuments in einem Rahmenfenster und interpretiert Benutzereingaben als Vorgänge für das Dokument. Einem Dokument können mehrere Ansichten zugeordnet sein. Wenn der Benutzer ein Fenster für ein Dokument öffnet, erstellt das Framework eine Ansicht und hängt sie an das Dokument an. Die Dokumentvorlage gibt an, welcher Ansichts- und Rahmenfenstertyp zum Anzeigen der einzelnen Dokumenttypen verwendet wird.

Dokumente sind Teil des Standardbefehlsroutings des Frameworks und empfangen daher Befehle von Standardkomponenten der Benutzeroberfläche (z. B. dem Menüelement Datei speichern). Ein Dokument empfängt Befehle, die von der aktiven Ansicht weitergeleitet werden. Wenn das Dokument einen bestimmten Befehl nicht verarbeitet, leitet es den Befehl an die Dokumentvorlage weiter, die ihn verwaltet.

Wenn die Daten eines Dokuments geändert werden, muss jede der Ansichten diese Änderungen widerspiegeln. CDocument stellt die Memberfunktion zur Benachrichtigung der Ansichten über solche Änderungen zurVerfingung der Ansichten selbst bei UpdateAllViews Bedarf zur Veraltensung bei. Das Framework fordert den Benutzer außerdem auf, eine geänderte Datei zu speichern, bevor sie geschlossen wird.

Um Dokumente in einer typischen Anwendung zu implementieren, müssen Sie folgende Schritte ausführen:

  • Leiten Sie für jeden Dokumenttyp eine Klasse von CDocument ab.

  • Fügen Sie Membervariablen hinzu, um die Daten der einzelnen Dokumente zu speichern.

  • Implementieren Sie Memberfunktionen zum Lesen und Ändern der Daten des Dokuments. Die Ansichten des Dokuments sind die wichtigsten Benutzer dieser Memberfunktionen.

  • Überschreiben Sie die CObject::Serialize Memberfunktion in Ihrer Dokumentklasse, um die Daten des Dokuments auf und vom Datenträger zu schreiben und zu lesen.

CDocument unterstützt das Senden Ihres Dokuments per E-Mail, wenn mail support (MAPI) vorhanden ist. Weitere Informationen finden Sie in den Artikeln MAPI- und MAPI-Unterstützung in MFC.

Weitere Informationen zu CDocument finden Sie unter Serialisierung, Themen zur Dokument-/Ansichtsarchitekturund Dokument-/Ansichtserstellung.

Vererbungshierarchie

CObject

CCmdTarget

CDocument

Requirements (Anforderungen)

Header:afxwin.h

CDocument::AddView

Rufen Sie diese Funktion auf, um eine Ansicht an das Dokument anzufügen.

void AddView(CView* pView);

Parameter

pView
Zeigt auf die Ansicht, die hinzugefügt wird.

Hinweise

Diese Funktion fügt der Liste der dem Dokument zugeordneten Ansichten die angegebene Ansicht hinzu. die -Funktion legt auch den Dokumentzeiger der Ansicht auf dieses Dokument fest. Das Framework ruft diese Funktion auf, wenn ein neu erstelltes Ansichtsobjekt an ein Dokument angefügt wird. Dies tritt als Reaktion auf den Befehl File New, File Open oder New Window auf, oder wenn ein Splitterfenster geteilt wird.

Rufen Sie diese Funktion nur auf, wenn Sie manuell eine Ansicht erstellen und anfügen. In der Regel lassen Sie das Framework Dokumente und Ansichten verbinden, indem Sie ein CDocTemplate -Objekt definieren, um eine Dokumentklasse, eine Ansichtsklasse und eine Framefensterklasse zuzuordnen.

Beispiel

// The following example toggles two views in an SDI (single document
// interface) frame window. A design decision must be made as to
// whether to leave the inactive view connected to the document,
// such that the inactive view continues to receive OnUpdate
// notifications from the document. It is usually desirable to
// keep the inactive view continuously in sync with the document, even
// though it is inactive. However, doing so incurs a performance cost,
// as well as the programming cost of implementing OnUpdate hints.
// It may be less expensive, in terms of performance and/or programming,
// to re-sync the inactive view with the document only with it is
// reactivated. This example illustrates this latter approach, by
// reconnecting the newly active view and disconnecting the newly
// inactive view, via calls to CDocument::AddView and RemoveView.

void CMainFrame::OnViewChange(UINT nCmdID)
// There is an ON_COMMAND_RANGE message map entry associated with
// OnViewChange:
// ON_COMMAND_RANGE(ID_VIEW_CHANGE1, ID_VIEW_CHANGE2, &OnViewChange)
{
   CView *pViewAdd;
   CView *pViewRemove;
   CDocument *pDoc = GetActiveDocument();

   // cvView1 and cvView2 are enum members defined in my CMainFrame class
   if ((nCmdID == ID_VIEW_CHANGE1) && (m_currentView == cvView1))
      return;
   if ((nCmdID == ID_VIEW_CHANGE2) && (m_currentView == cvView2))
      return;

   if (nCmdID == ID_VIEW_CHANGE2)
   {
      if (m_pView2 == NULL)
      {
         m_pView1 = GetActiveView();
         m_pView2 = new CMyView2;

         //Note that if OnSize has been overridden in CMyView2
         //and GetDocument() is used in this override it can
         //cause assertions and, if the assertions are ignored,
         //cause access violation.

         m_pView2->Create(NULL, NULL, AFX_WS_DEFAULT_VIEW, rectDefault, this,
                          AFX_IDW_PANE_FIRST + 1, NULL);
      }
      pViewAdd = m_pView2;
      pViewRemove = m_pView1;
      m_currentView = cvView2;
   }
   else
   {
      pViewAdd = m_pView1;
      pViewRemove = m_pView2;
      m_currentView = cvView1;
   }

   // Set the child i.d. of the active view to AFX_IDW_PANE_FIRST,
   // so that CFrameWnd::RecalcLayout will allocate to this
   // "first pane" that portion of   the frame window's client area
   // not allocated to control   bars.  Set the child i.d. of the
   // other view to anything other than AFX_IDW_PANE_FIRST; this
   // examples switches the child id's of the two views.

   int nSwitchChildID = pViewAdd->GetDlgCtrlID();
   pViewAdd->SetDlgCtrlID(AFX_IDW_PANE_FIRST);
   pViewRemove->SetDlgCtrlID(nSwitchChildID);

   // Show the newly active view and hide the inactive view.

   pViewAdd->ShowWindow(SW_SHOW);
   pViewRemove->ShowWindow(SW_HIDE);

   // Connect the newly active view to the document, and
   // disconnect the inactive view.
   pDoc->AddView(pViewAdd);
   pDoc->RemoveView(pViewRemove);

   SetActiveView(pViewAdd);
   RecalcLayout();
}

CDocument::BeginReadChunks

Initialisiert blocklese.

virtual void BeginReadChunks ();

Hinweise

CDocument::CanCloseFrame

Wird vom Framework aufgerufen, bevor ein Rahmenfenster geschlossen wird, in dem das Dokument angezeigt wird.

virtual BOOL CanCloseFrame(CFrameWnd* pFrame);

Parameter

pFrame
Zeigt auf das Rahmenfenster einer Ansicht, die an das Dokument angefügt ist.

Rückgabewert

Ungleich 0 (null), wenn das Rahmenfenster sicher geschlossen werden kann. andernfalls 0.

Hinweise

Die Standardimplementierung überprüft, ob das Dokument in anderen Rahmenfenstern angezeigt wird. Wenn das angegebene Rahmenfenster das letzte Fenster ist, das das Dokument anzeigt, fordert die Funktion den Benutzer auf, das Dokument zu speichern, wenn es geändert wurde. Überschreiben Sie diese Funktion, wenn Sie eine spezielle Verarbeitung durchführen möchten, wenn ein Rahmenfenster geschlossen wird. Dies ist ein erweitertes überschreibbares .

CDocument::CDocument

Erstellt ein CDocument-Objekt.

CDocument();

Hinweise

Das Framework übernimmt die Dokumenterstellung für Sie. Überschreiben Sie die Memberfunktion, um die Initialisierung auf Dokumentbasis durchzuführen. Dies OnNewDocument ist insbesondere bei SDI-Anwendungen (Single Document Interface) wichtig.

CDocument::ClearChunkList

Löschen der Blockliste.

virtual void ClearChunkList ();

Hinweise

CDocument::ClearPathName

Gibt den Pfad des Dokumentobjekts frei.

virtual void ClearPathName();

Hinweise

Wenn Sie den Pfad aus einem -Objekt löschen, fordert die Anwendung den Benutzer CDocument auf, wenn das Dokument das nächste Mal gespeichert wird. Dadurch verhält sich ein Save-Befehl wie ein Save As-Befehl.

CDocument::DeleteContents

Wird vom Framework aufgerufen, um die Daten des Dokuments zu löschen, ohne das Objekt CDocument selbst zu zerstören.

virtual void DeleteContents();

Hinweise

Sie wird aufgerufen, kurz bevor das Dokument zerstört werden soll. Sie wird auch aufgerufen, um sicherzustellen, dass ein Dokument leer ist, bevor es wiederverwendet wird. Dies ist besonders wichtig für eine SDI-Anwendung, die nur ein Dokument verwendet. Das Dokument wird wiederverwendet, wenn der Benutzer ein anderes Dokument erstellt oder öffnet. Rufen Sie diese Funktion auf, um einen Befehl "Alles löschen" oder einen ähnlichen Befehl zu implementieren, der alle Daten des Dokuments löscht. Bei der Standardimplementierung dieser Funktion wird keine Aktion ausgeführt. Überschreiben Sie diese Funktion, um die Daten in Ihrem Dokument zu löschen.

Beispiel

// This example is the handler for an Edit Clear All command.
void CExampleDoc::OnEditClearAll()
{
   DeleteContents();
   UpdateAllViews(NULL);
}

void CExampleDoc::DeleteContents()
{
   // Re-initialize document data here.
}

CDocument::FindChunk

Sucht nach einem Block mit einer angegebenen GUID.

virtual POSITION FindChunk(
    REFCLSID guid,
    DWORD pid);

Parameter

guid
Gibt die GUID eines zu suchenden Blockes an.

pid
Gibt eine PID eines zu suchenden Blockes an.

Rückgabewert

Position in der internen Blockliste, falls erfolgreich. Andernfalls NULL.

Hinweise

CDocument::GetAdapter

Gibt einen Zeiger auf ein Objekt zurück, das die IDocument -Schnittstelle implementiert.

virtual ATL::IDocument* GetAdapter();

Rückgabewert

Ein Zeiger auf ein Objekt, das die IDocument -Schnittstelle implementiert.

Hinweise

CDocument::GetDocTemplate

Rufen Sie diese Funktion auf, um einen Zeiger auf die Dokumentvorlage für diesen Dokumenttyp abzurufen.

CDocTemplate* GetDocTemplate() const;

Rückgabewert

Ein Zeiger auf die Dokumentvorlage für diesen Dokumenttyp oder NULL, wenn das Dokument nicht von einer Dokumentvorlage verwaltet wird.

Beispiel

// This example accesses the doc template object to construct
// a default document name such as SHEET.XLS, where "sheet"
// is the base document name and ".xls" is the file extension
// for the document type.
CString strDefaultDocName, strBaseName, strExt;
CDocTemplate *pDocTemplate = GetDocTemplate();
if (!pDocTemplate->GetDocString(strBaseName, CDocTemplate::docName) || !pDocTemplate->GetDocString(strExt, CDocTemplate::filterExt))
{
   AfxThrowUserException(); // These doc template strings will
                            // be available if you created the application using AppWizard
                            // and specified the file extension as an option for
                            // the document class produced by AppWizard.
}
strDefaultDocName = strBaseName + strExt;

CDocument::GetFile

Rufen Sie diese Memberfunktion auf, um einen Zeiger auf ein CFile -Objekt abzurufen.

virtual CFile* GetFile(
    LPCTSTR lpszFileName,
    UINT nOpenFlags,
    CFileException* pError);

Parameter

lpszFileName
Eine Zeichenfolge, die der Pfad zur gewünschten Datei ist. Der Pfad kann relativ oder absolut sein.

pError
Ein Zeiger auf ein vorhandenes Dateiausnahmeobjekt, das den Abschlussstatus des Vorgangs angibt.

nOpenFlags
Freigabe- und Zugriffsmodus. Gibt die Aktion an, die beim Öffnen der Datei erfolgen soll. Sie können optionen kombinieren, die im CFile-Konstruktor aufgeführt CFile::CFile sind, indem Sie den bitweisen OR | ()-Operator verwenden. Eine Zugriffsberechtigung und eine Freigabeoption sind erforderlich. die modeCreate Modi und sind modeNoInherit optional.

Rückgabewert

Ein Zeiger auf ein CFile-Objekt.

CDocument::GetFirstViewPosition

Rufen Sie diese Funktion auf, um die Position der ersten Ansicht in der Liste der Ansichten abzurufen, die dem Dokument zugeordnet sind.

virtual POSITION GetFirstViewPosition() const;

Rückgabewert

Ein POSITION -Wert, der für die Iteration mit der Memberfunktion verwendet werden GetNextView kann.

Beispiel

//To get the first view in the list of views:
//To get the first view in the list of views:
// POSITION pos = GetFirstViewPosition();
// CView* pFirstView = GetNextView(pos);
//
// This example uses CDocument::GetFirstViewPosition
// and GetNextView to repaint each view.
// An easier way to accomplish the same result is to call
// UpdateAllViews(NULL);
void CExampleDoc::OnRepaintAllViews()
{
   POSITION pos = GetFirstViewPosition();
   while (pos != NULL)
   {
      CView *pView = GetNextView(pos);
      pView->UpdateWindow();
   }
}

CDocument::GetNextView

Rufen Sie diese Funktion auf, um alle Ansichten des Dokuments zu durchlaufen.

virtual CView* GetNextView(POSITION& rPosition) const;

Parameter

rPosition
Ein Verweis auf einen POSITION Wert, der durch einen vorherigen Aufruf der Memberfunktionen oder zurückgegeben GetNextView GetFirstViewPosition wird. Dieser Wert darf nicht NULL sein.

Rückgabewert

Ein Zeiger auf die durch identifizierte rPosition Sicht.

Hinweise

Die Funktion gibt die von identifizierte Ansicht zurück rPosition und legt dann auf den Wert der nächsten Ansicht in der Liste rPosition POSITION fest. Wenn die abgerufene Sicht die letzte in der Liste rPosition ist, wird auf NULL festgelegt.

Beispiel

//To get the first view in the list of views:
//To get the first view in the list of views:
// POSITION pos = GetFirstViewPosition();
// CView* pFirstView = GetNextView(pos);
//
// This example uses CDocument::GetFirstViewPosition
// and GetNextView to repaint each view.
// An easier way to accomplish the same result is to call
// UpdateAllViews(NULL);
void CExampleDoc::OnRepaintAllViews()
{
   POSITION pos = GetFirstViewPosition();
   while (pos != NULL)
   {
      CView *pView = GetNextView(pos);
      pView->UpdateWindow();
   }
}

CDocument::GetPathName

Rufen Sie diese Funktion auf, um den vollqualifizierten Pfad der Datenträgerdatei des Dokuments abzurufen.

const CString& GetPathName() const;

Rückgabewert

Der vollqualifizierte Pfad des Dokuments. Diese Zeichenfolge ist leer, wenn das Dokument nicht gespeichert wurde oder ihm keine Datenträgerdatei zugeordnet ist.

CDocument::GetThumbnail

Erstellt eine Bitmap, die vom Miniaturansichtsanbieter zum Anzeigen der Miniaturansicht verwendet werden soll.

virtual BOOL GetThumbnail(
    UINT cx,
    HBITMAP* phbmp,
    DWORD* pdwAlpha);

Parameter

cx
Gibt die Breite und Höhe der Bitmap an.

phbmp
Enthält ein Handle für eine Bitmap, wenn die Funktion erfolgreich zurückgegeben wird.

pdwAlpha
Enthält eine DWORD , die den Alphakanalwert angibt, wenn die Funktion erfolgreich zurückgegeben wird.

Rückgabewert

Gibt TRUE zurück, wenn eine Bitmap für die Miniaturansicht erfolgreich erstellt wurde, andernfalls FALSE .

Hinweise

CDocument::GetTitle

Rufen Sie diese Funktion auf, um den Titel des Dokuments zu erhalten, der normalerweise vom Dateinamen des Dokuments abgeleitet wird.

const CString& GetTitle() const;

Rückgabewert

Der Titel des Dokuments.

CDocument::InitializeSearchContent

Wird aufgerufen, um den Suchinhalt für den Suchhandler zu initialisieren.

virtual void InitializeSearchContent ();

Hinweise

Überschreiben Sie diese Methode in einer abgeleiteten Klasse, um den Suchinhalt zu initialisieren. Der Inhalt sollte eine Zeichenfolge sein, deren Teile durch ";" getrennt sind. Beispiel: "point; Rechteck; ole item".

CDocument::IsModified

Rufen Sie diese Funktion auf, um zu bestimmen, ob das Dokument seit dem letzten Speichern geändert wurde.

virtual BOOL IsModified();

Rückgabewert

Ungleich 0 (null), wenn das Dokument seit dem letzten Speichern geändert wurde. andernfalls 0.

CDocument::IsSearchAndOrganizeHandler

Gibt an, ob diese Instanz CDocument von für den Search & Organize-Handler erstellt wurde.

BOOL IsSearchAndOrganizeHandler() const;

Rückgabewert

Gibt TRUE zurück, wenn diese Instanz CDocument von für den Search & Organize-Handler erstellt wurde.

Hinweise

Diese Funktion gibt derzeit TRUE nur für Rich Preview-Handler zurück, die in einem Out-of-Process-Server implementiert sind. Sie können die entsprechenden Flags ( , , ) auf Anwendungsebene festlegen, damit m_bPreviewHandlerMode m_bSearchMode diese Funktion zurück m_bGetThumbnailMode TRUE gibt.

CDocument::LoadDocumentFromStream

Wird aufgerufen, um Dokumentdaten aus einem Stream zu laden.

virtual HRESULT LoadDocumentFromStream(
    IStream* pStream,
    DWORD dwGrfMode);

Parameter

pStream
Ein Zeiger auf einen Stream. Dieser Stream wird von der Shell bereitgestellt.

dwGrfMode
Zugriffsmodus für den Stream.

Rückgabewert

S_OK , wenn der Ladevorgang erfolgreich war, andernfalls HRESULT mit einem Fehlercode.

Hinweise

Sie können diese Methode in einer abgeleiteten Klasse überschreiben, um anzupassen, wie Daten aus dem Stream geladen werden.

CDocument::m_bGetThumbnailMode

Gibt an, dass das CDocument Objekt von dllhost für Miniaturansichten erstellt wurde. Sollte in eingecheckt CView::OnDraw werden.

BOOL m_bGetThumbnailMode;

Hinweise

TRUE gibt an, dass das Dokument von dllhost für Miniaturansichten erstellt wurde.

CDocument::m_bPreviewHandlerMode

Gibt an, dass das CDocument Objekt von prevhost für Rich Preview erstellt wurde. Sollte in eingecheckt CView::OnDraw werden.

BOOL m_bPreviewHandlerMode;

Hinweise

TRUE gibt an, dass das Dokument von prevhost für Rich Preview erstellt wurde.

CDocument::m_bSearchMode

Gibt an, dass das CDocument Objekt vom Indexer oder von einer anderen Suchanwendung erstellt wurde.

BOOL m_bSearchMode;

Hinweise

TRUE gibt an, dass das Dokument vom Indexer oder von einer anderen Suchanwendung erstellt wurde.

CDocument::m_clrRichPreviewBackColor

Gibt die Hintergrundfarbe des Rich Preview-Fensters an. Diese Farbe wird vom Host festgelegt.

COLORREF m_clrRichPreviewBackColor;

Hinweise

CDocument::m_clrRichPreviewTextColor

Gibt die Vordergrundfarbe des Rich Preview-Fensters an. Diese Farbe wird vom Host festgelegt.

COLORREF m_clrRichPreviewTextColor;

Hinweise

CDocument::m_lfRichPreviewFont

Gibt die Textschriftart für das Rich Preview-Fenster an. Diese Schriftartinformationen werden vom Host festgelegt.

CFont m_lfRichPreviewFont;

Hinweise

CDocument::OnBeforeRichPreviewFontChanged

Wird aufgerufen, bevor die Schriftart "Rich Preview" geändert wird.

virtual void OnBeforeRichPreviewFontChanged();

Hinweise

CDocument::OnChangedViewList

Wird vom Framework aufgerufen, nachdem dem Dokument eine Ansicht hinzugefügt oder daraus entfernt wurde.

virtual void OnChangedViewList();

Hinweise

Die Standardimplementierung dieser Funktion überprüft, ob die letzte Ansicht entfernt wird, und löscht in diesem Fall das Dokument. Überschreiben Sie diese Funktion, wenn Sie eine spezielle Verarbeitung ausführen möchten, wenn das Framework eine Ansicht hinzufügt oder entfernt. Wenn sie beispielsweise möchten, dass ein Dokument auch dann geöffnet bleibt, wenn keine Ansichten angefügt sind, überschreiben Sie diese Funktion.

CDocument::OnCloseDocument

Wird vom Framework aufgerufen, wenn das Dokument geschlossen wird, in der Regel als Teil des Befehls Datei schließen.

virtual void OnCloseDocument();

Hinweise

Die Standardimplementierung dieser Funktion zerstört alle Frames, die zum Anzeigen des Dokuments verwendet werden, schließt die Ansicht, bereinigt den Inhalt des Dokuments und ruft dann die Memberfunktion auf, um die Daten des Dokuments zu DeleteContents löschen.

Überschreiben Sie diese Funktion, wenn Sie eine spezielle Bereinigungsverarbeitung ausführen möchten, wenn das Framework ein Dokument schließt. Wenn das Dokument beispielsweise einen Datensatz in einer Datenbank darstellt, können Sie diese Funktion überschreiben, um die Datenbank zu schließen. Sie sollten die Basisklassenversion dieser Funktion über Ihre Außerkraftsetzung aufrufen.

CDocument::OnCreatePreviewFrame

Wird vom Framework aufgerufen, wenn ein Vorschauframe für Rich Preview erstellt werden muss.

virtual BOOL OnCreatePreviewFrame();

Rückgabewert

Gibt TRUE zurück, wenn der Frame erfolgreich erstellt wurde, andernfalls FALSE .

Hinweise

CDocument::OnDocumentEvent

Wird vom Framework als Reaktion auf ein Dokumentereignis aufgerufen.

virtual void OnDocumentEvent(DocumentEvent deEvent);

Parameter

deEvent
[in] Ein aufzählter Datentyp, der den Ereignistyp beschreibt.

Hinweise

Dokumentereignisse können sich auf mehrere Klassen auswirken. Diese Methode ist für die Behandlung von Dokumentereignissen zuständig, die sich auf andere Klassen als die Klasse CDocument auswirken. Derzeit ist die einzige Klasse, die auf Dokumentereignisse reagieren muss, die CDataRecoveryHandler Klasse. Die CDocument -Klasse verfügt über andere überschreibende Methoden, die für die Behandlung der Auswirkungen auf den verantwortlich CDocument sind.

In der folgenden Tabelle sind die möglichen Werte für deEvent und die Ereignisse aufgeführt, denen sie entsprechen.

Wert Entsprechendes Ereignis
onAfterNewDocument Ein neues Dokument wurde erstellt.
onAfterOpenDocument Ein neues Dokument wurde geöffnet.
onAfterSaveDocument Das Dokument wurde gespeichert.
onAfterCloseDocument Das Dokument wurde geschlossen.

CDocument::OnDrawThumbnail

Überschreiben Sie diese Methode in einer abgeleiteten Klasse, um die Miniaturansicht zu zeichnen.

virtual void OnDrawThumbnail(
    CDC& dc,
    LPRECT lprcBounds);

Parameter

dc
Ein Verweis auf einen Gerätekontext.

lprcBounds
Gibt ein umgrenzendes Rechteck des Bereichs an, in dem die Miniaturansicht gezeichnet werden soll.

Hinweise

CDocument::OnFileSendMail

Sendet eine Nachricht über den residenten Mailhost (sofern vorhanden) mit dem Dokument als Anlage.

void OnFileSendMail();

Hinweise

OnFileSendMail ruft OnSaveDocument auf, um unbenaufgeführte und geänderte Dokumente in eine temporäre Datei zu serialisieren (zu speichern), die dann per E-Mail gesendet wird. Wenn das Dokument nicht geändert wurde, ist keine temporäre Datei erforderlich. das Original wird gesendet. OnFileSendMail lädt MAPI32.DLL , wenn es noch nicht geladen wurde.

Eine spezielle Implementierung von OnFileSendMail für COleDocument verarbeitet Verbunddateien ordnungsgemäß.

CDocument unterstützt das Senden Ihres Dokuments per E-Mail, wenn mail support (MAPI) vorhanden ist. Weitere Informationen finden Sie in den Artikeln MAPI-Themen und MAPI-Unterstützung in MFC.

CDocument::OnLoadDocumentFromStream

Wird vom Framework aufgerufen, wenn die Dokumentdaten aus einem Stream geladen werden müssen.

virtual HRESULT OnLoadDocumentFromStream(
    IStream* pStream,
    DWORD grfMode);

Parameter

pStream
Ein Zeiger auf einen eingehenden Stream.

grfMode
Zugriffsmodus für den Stream.

Rückgabewert

S_OK , wenn das Laden erfolgreich war; andernfalls ein Fehlercode.

Hinweise

CDocument::OnNewDocument

Wird vom Framework als Teil des Befehls Dateineu aufgerufen.

virtual BOOL OnNewDocument();

Rückgabewert

Ungleich 0 (null), wenn das Dokument erfolgreich initialisiert wurde; andernfalls 0.

Hinweise

Die Standardimplementierungen dieser Funktion rufen die DeleteContents Memberfunktion auf, um sicherzustellen, dass das Dokument leer ist, und markiert dann das neue Dokument als bereinigt. Überschreiben Sie diese Funktion, um die Datenstruktur für ein neues Dokument zu initialisieren. Sie sollten die Basisklassenversion dieser Funktion über Ihre Außerkraftsetzung aufrufen.

Wenn der Benutzer den Befehl Datei neu in einer SDI-Anwendung auswählt, verwendet das Framework diese Funktion, um das vorhandene Dokument erneut zu initialisieren, anstatt ein neues zu erstellen. Wenn der Benutzer datei neu in einer MDI-Anwendung (Multiple Document Interface) auswählt, erstellt das Framework jedes Mal ein neues Dokument und ruft dann diese Funktion auf, um es zu initialisieren. Sie müssen Ihren Initialisierungscode in dieser Funktion statt im Konstruktor platzieren, damit der Befehl "Datei neu" in SDI-Anwendungen wirksam ist.

Beachten Sie, dass es Fälle gibt, in OnNewDocument denen zweimal aufgerufen wird. Dies tritt auf, wenn das Dokument als ActiveX-Dokumentserver eingebettet ist. Die Funktion wird zuerst von der -Methode (verfügbar gemacht durch die von abgeleitete Klasse) und ein zweites Mal von der -Methode (verfügbar gemacht von der CreateInstance COleObjectFactory InitNew COleServerDoc abgeleiteten Klasse) aufgerufen.

Beispiel

Die folgenden Beispiele veranschaulichen alternative Methoden zum Initialisieren eines Dokumentobjekts.

// Method 1: In an MDI application, the simplest place to do
// initialization is in the document constructor.  The framework
// always creates a new document object for File New or File Open.
CExampleDoc::CExampleDoc()
{
   // Do initialization of MDI document here.
}
// Method 2: In an SDI or MDI application, do all initialization
// in an override of OnNewDocument, if you are certain that
// the initialization is effectively saved upon File Save
// and fully restored upon File Open, via serialization.
BOOL CMyDoc::OnNewDocument()
{
   if (!CDocument::OnNewDocument())
   {
      return FALSE;
   }

   // Do initialization of new document here.

   return TRUE;
}
// Method 3: If the initialization of your document is not
// effectively saved and restored by serialization (during File Save
// and File Open), then implement the initialization in single
// function (named InitMyDocument in this example).  Call the
// shared initialization function from overrides of both
// OnNewDocument and OnOpenDocument.
BOOL CExampleDoc::OnNewDocument()
{
   if (!CDocument::OnNewDocument())
   {
      return FALSE;
   }

   InitMyDocument(); // call your shared initialization function

   // If your new document object requires additional initialization
   // not necessary when the document is deserialized via File Open,
   // then perform that additional initialization here.

   return TRUE;
}

CDocument::OnOpenDocument

Wird vom Framework als Teil des Befehls Datei öffnen aufgerufen.

virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);

Parameter

lpszPathName
Zeigt auf den Pfad des zu öffnenden Dokuments.

Rückgabewert

Ungleich 0 (null), wenn das Dokument erfolgreich geladen wurde. andernfalls 0.

Hinweise

Die Standardimplementierung dieser Funktion öffnet die angegebene Datei, ruft die Memberfunktion auf, um sicherzustellen, dass das Dokument leer ist, ruft auf, um den Inhalt der Datei zu lesen, und markiert das Dokument dann als DeleteContents CObject::Serialize bereinigt. Überschreiben Sie diese Funktion, wenn Sie etwas anderes als den Archivmechanismus oder den Dateimechanismus verwenden möchten. Beispielsweise können Sie eine Anwendung schreiben, bei der Dokumente Datensätze in einer Datenbank darstellen, anstatt dateien zu trennen.

Wenn der Benutzer den Befehl Datei öffnen in einer SDI-Anwendung auswählt, verwendet das Framework diese Funktion, um das vorhandene Objekt erneut zu initialisieren, anstatt ein neues CDocument zu erstellen. Wenn der Benutzer Datei öffnen in einer MDI-Anwendung auswählt, erstellt das Framework jedes Mal ein neues -Objekt und ruft dann diese Funktion auf, um es CDocument zu initialisieren. Sie müssen ihren Initialisierungscode in dieser Funktion statt im Konstruktor platzieren, damit der Datei öffnen-Befehl in SDI-Anwendungen wirksam ist.

Beispiel

Die folgenden Beispiele veranschaulichen alternative Methoden zum Initialisieren eines Dokumentobjekts.

// Method 1: In an MDI application, the simplest place to do
// initialization is in the document constructor.  The framework
// always creates a new document object for File New or File Open.
CExampleDoc::CExampleDoc()
{
   // Do initialization of MDI document here.
}
// Method 2: In an SDI or MDI application, do all initialization
// in an override of OnNewDocument, if you are certain that
// the initialization is effectively saved upon File Save
// and fully restored upon File Open, via serialization.
BOOL CMyDoc::OnNewDocument()
{
   if (!CDocument::OnNewDocument())
   {
      return FALSE;
   }

   // Do initialization of new document here.

   return TRUE;
}
// Method 3: If the initialization of your document is not
// effectively saved and restored by serialization (during File Save
// and File Open), then implement the initialization in single
// function (named InitMyDocument in this example).  Call the
// shared initialization function from overrides of both
// OnNewDocument and OnOpenDocument.
BOOL CExampleDoc::OnNewDocument()
{
   if (!CDocument::OnNewDocument())
   {
      return FALSE;
   }

   InitMyDocument(); // call your shared initialization function

   // If your new document object requires additional initialization
   // not necessary when the document is deserialized via File Open,
   // then perform that additional initialization here.

   return TRUE;
}
// Additional example of OnOpenDocument()
BOOL CExampleDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
   if (!CDocument::OnOpenDocument(lpszPathName))
   {
      return FALSE;
   }

   InitMyDocument(); // call your shared initialization function

   return TRUE;
}

CDocument::OnPreviewHandlerQueryFocus

Weist den Vorschauhandler an, den zurückzugeben, der HWND aus dem Aufruf der Funktion abgerufen GetFocus wurde.

virtual HRESULT OnPreviewHandlerQueryFocus(HWND* phwnd);

Parameter

phwnd
[out] Diese Methode gibt einen Zeiger auf den HWND zurück, der durch aufrufen der GetFocus Funktion aus dem Vordergrundthread des Vorschauhandlers zurückgegeben wurde.

Rückgabewert

Gibt S_OK zurück, wenn erfolgreich; andernfalls ein Fehlerwert.

Hinweise

CDocument::OnPreviewHandlerTranslateAccelerator

Weist den Vorschauhandler an, eine Tastatureingabe zu verarbeiten, die von der Nachrichtenpump des Prozesses übergeben wird, in dem der Vorschauhandler ausgeführt wird.

virtual HRESULT OnPreviewHandlerTranslateAccelerator(MSG* pmsg);

Parameter

pmsg
[in] Ein Zeiger auf eine Fenstermeldung.

Rückgabewert

Wenn die Tastatureingabenachricht vom Vorschauhandler verarbeitet werden kann, verarbeitet der Handler sie und gibt S_OK zurück. Wenn der Vorschauhandler die Tastatureingabenachricht nicht verarbeiten kann, bietet er sie dem Host über IPreviewHandlerFrame::TranslateAccelerator an. Wenn der Host die Nachricht verarbeitet, gibt diese Methode S_OK zurück. Wenn der Host die Nachricht nicht verarbeitet, gibt diese Methode S_FALSE zurück.

Hinweise

CDocument::OnRichPreviewBackColorChanged

Wird aufgerufen, wenn sich die Hintergrundfarbe der Rich Preview geändert hat.

virtual void OnRichPreviewBackColorChanged();

Hinweise

CDocument::OnRichPreviewFontChanged

Wird aufgerufen, wenn sich die Schriftart "Rich Preview" geändert hat.

virtual void OnRichPreviewFontChanged();

Hinweise

CDocument::OnRichPreviewSiteChanged

Wird aufgerufen, wenn sich die Rich Preview-Website geändert hat.

virtual void OnRichPreviewSiteChanged();

Hinweise

CDocument::OnRichPreviewTextColorChanged

Wird aufgerufen, wenn sich die Rich Preview-Textfarbe geändert hat.

virtual void OnRichPreviewTextColorChanged();

Hinweise

CDocument::OnSaveDocument

Wird vom Framework als Teil des Befehls Datei speichern oder Datei speichern unter aufgerufen.

virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);

Parameter

lpszPathName
Verweist auf den vollqualifizierten Pfad, in dem die Datei gespeichert werden soll.

Rückgabewert

Ungleich 0 (null), wenn das Dokument erfolgreich gespeichert wurde. andernfalls 0.

Hinweise

Die Standardimplementierungen dieser Funktion öffnen die angegebene Datei, rufen CObject::Serialize auf, um die Daten des Dokuments in die Datei zu schreiben, und markiert das Dokument dann als bereinigt. Überschreiben Sie diese Funktion, wenn Sie eine besondere Verarbeitung durchführen möchten, wenn das Framework ein Dokument speichert. Beispielsweise können Sie eine Anwendung schreiben, bei der Dokumente Datensätze in einer Datenbank darstellen, anstatt dateien zu trennen.

CDocument::OnUnloadHandler

Wird vom Framework aufgerufen, wenn der Vorschauhandler entladen wird.

virtual void OnUnloadHandler();

Hinweise

CDocument::OnUpdateFileSendMail

Aktiviert den ID_FILE_SEND_MAIL Befehl, wenn E-Mail-Unterstützung (MAPI) vorhanden ist.

void OnUpdateFileSendMail(CCmdUI* pCmdUI);

Parameter

pCmdUI
Ein Zeiger auf das CCmdUI -Objekt, das dem Befehl zugeordnet ID_FILE_SEND_MAIL ist.

Hinweise

Andernfalls entfernt die Funktion den Befehl aus dem Menü, einschließlich der Entsprechenden Trennzeichen oberhalb oder ID_FILE_SEND_MAIL unterhalb des Menüelements. MAPI ist aktiviert, wenn im Pfad und im Abschnitt [Mail] der Datei MAPI32.DLL WIN.INI MAPI=1 vorhanden ist. Die meisten Anwendungen legen diesen Befehl im Menü Datei ab.

CDocument unterstützt das Senden Ihres Dokuments per E-Mail, wenn E-Mail-Unterstützung (MAPI) vorhanden ist. Weitere Informationen finden Sie in den Artikeln MAPI-Themen und MAPI-Unterstützung in MFC.

CDocument::PreCloseFrame

Diese Memberfunktion wird vom Framework aufgerufen, bevor das Rahmenfenster zerstört wird.

virtual void PreCloseFrame(CFrameWnd* pFrame);

Parameter

pFrame
Zeiger auf die , CFrameWnd die das zugeordnete CDocument -Objekt enthält.

Hinweise

Sie kann überschrieben werden, um eine benutzerdefinierte Bereinigung zu ermöglichen, aber rufen Sie auch die Basisklasse auf.

Der Standardwert von PreCloseFrame führt in nichts CDocument aus. Die CDocument von abgeleiteten Klassen COleDocument und verwenden CRichEditDoc diese Memberfunktion.

CDocument::ReadNextChunkValue

Liest den nächsten Blockwert.

virtual BOOL ReadNextChunkValue(IFilterChunkValue** ppValue);

Parameter

ppValue
[out] Enthält nach der Rückgabe ppValue der Funktion den wert, der gelesen wurde.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

CDocument::ReleaseFile

Diese Memberfunktion wird vom Framework aufgerufen, um eine Datei frei zu geben, wodurch sie für die Verwendung durch andere Anwendungen verfügbar ist.

virtual void ReleaseFile(
    CFile* pFile,
    BOOL bAbort);

Parameter

pFile
Ein Zeiger auf das CFile objekt, das freigegeben werden soll.

bAbort
Gibt an, ob die Datei mit oder freigegeben CFile::Close werden CFile::Abort soll. FALSE , wenn die Datei mit freigegeben werden soll, , wenn die CFile::Close Datei mit freigegeben werden TRUE CFile::Abort soll.

Hinweise

Wenn bAbort TRUE ist, ReleaseFile ruft CFile::Abort auf, und die Datei wird freigegeben. CFile::Abort löst keine Ausnahme aus.

Wenn bAbort FALSE ist, ReleaseFile ruft CFile::Close auf, und die Datei wird freigegeben.

Überschreiben Sie diese Memberfunktion, um eine Aktion durch den Benutzer anzufordern, bevor die Datei freigegeben wird.

CDocument::RemoveChunk

Entfernt einen Block mit dem angegebenen GUID .

virtual void RemoveChunk(
    REFCLSID guid,
    DWORD pid);

Parameter

Guid
Gibt den GUID eines zu entfernenden Blockes an.

Pid
Gibt den PID eines zu entfernenden Blockes an.

Hinweise

CDocument::RemoveView

Rufen Sie diese Funktion auf, um eine Ansicht von einem Dokument zu trennen.

void RemoveView(CView* pView);

Parameter

pView
Zeigt auf die Ansicht, die entfernt wird.

Hinweise

Diese Funktion entfernt die angegebene Ansicht aus der Liste der Ansichten, die dem Dokument zugeordnet sind. außerdem wird der Dokumentzeiger der Ansicht auf NULL festgelegt. Diese Funktion wird vom Framework aufgerufen, wenn ein Rahmenfenster geschlossen oder ein Bereich eines Splitterfensters geschlossen wird.

Rufen Sie diese Funktion nur auf, wenn Sie eine Ansicht manuell trennen. In der Regel lassen Sie das Framework Dokumente und Ansichten trennen, indem Sie ein CDocTemplate -Objekt definieren, um eine Dokumentklasse, eine Ansichtsklasse und eine Framefensterklasse zuzuordnen.

Eine Beispielimplementierungen finden Sie im Beispiel unter AddView .

CDocument::ReportSaveLoadException

Wird aufgerufen, wenn beim Speichern oder Laden des Dokuments eine Ausnahme ausgelöst wird (in der Regel oder CFileException CArchiveException ).

virtual void ReportSaveLoadException(
    LPCTSTR lpszPathName,
    CException* e,
    BOOL bSaving,
    UINT nIDPDefault);

Parameter

lpszPathName
Verweist auf den Namen des Dokuments, das gespeichert oder geladen wurde.

e
Zeigt auf die ausgelöste Ausnahme. Kann NULL sein.

bSaving
Flag, das angibt, welcher Vorgang ausgeführt wurde; ungleich 0 (null), wenn das Dokument gespeichert wurde, 0 , wenn das Dokument geladen wurde.

nIDPDefault
Bezeichner der Fehlermeldung, die angezeigt werden soll, wenn die Funktion keinen spezifischeren angibt.

Hinweise

Die Standardimplementierungen untersuchen das Ausnahmeobjekt und suchen nach einer Fehlermeldung, die speziell die Ursache beschreibt. Wenn eine bestimmte Meldung nicht gefunden wird oder ist, wird die vom e NULL -Parameter angegebene nIDPDefault allgemeine Meldung verwendet. Die Funktion zeigt dann ein Meldungsfeld mit der Fehlermeldung an. Überschreiben Sie diese Funktion, wenn Sie zusätzliche, angepasste Fehlermeldungen bereitstellen möchten. Dies ist ein erweitertes überschreibbares .

CDocument::SaveModified

Wird vom Framework aufgerufen, bevor ein geändertes Dokument geschlossen werden soll.

virtual BOOL SaveModified();

Rückgabewert

Ungleich 0 (null), wenn es sicher ist, das Dokument fortzufahren und zu schließen. 0, wenn das Dokument nicht geschlossen werden soll.

Hinweise

Die Standardimplementierung dieser Funktion zeigt ein Meldungsfeld an, in dem der Benutzer gefragt wird, ob die Änderungen am Dokument(sofern vorgenommen) zu speichern sind. Überschreiben Sie diese Funktion, wenn ihr Programm eine andere Eingabeaufforderungsprozedur erfordert. Dies ist ein erweitertes überschreibbares .

CDocument::SetChunkValue

Legt einen Blockwert fest.

virtual BOOL SetChunkValue (IFilterChunkValue* pValue);

Parameter

pValue
Gibt einen zu setzenden Blockwert an.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

CDocument::SetModifiedFlag

Rufen Sie diese Funktion auf, nachdem Sie Änderungen am Dokument vorgenommen haben.

virtual void SetModifiedFlag(BOOL bModified = TRUE);

Parameter

bModified
Flag, das angibt, ob das Dokument geändert wurde.

Hinweise

Indem Sie diese Funktion konsistent aufrufen, stellen Sie sicher, dass das Framework den Benutzer dazu aufforderung, Änderungen zu speichern, bevor ein Dokument geschlossen wird. In der Regel sollten Sie den Standardwert von TRUE für den Parameter bModified verwenden. Um ein Dokument als bereinigt (unverändert) zu markieren, rufen Sie diese Funktion mit dem Wert FALSE auf.

CDocument::SetPathName

Rufen Sie diese Funktion auf, um den vollqualifizierten Pfad der Datenträgerdatei des Dokuments anzugeben.

virtual void SetPathName(
    LPCTSTR lpszPathName,
    BOOL bAddToMRU = TRUE);

Parameter

lpszPathName
Zeigt auf die Zeichenfolge, die als Pfad für das Dokument verwendet werden soll.

bAddToMRU
Bestimmt, ob der Dateiname der Liste der zuletzt verwendeten Dateien (MRU) hinzugefügt wird. Wenn TRUE der Wert ist, wird der Dateiname hinzugefügt. Wenn der Wert FALSE ist, wird er nicht hinzugefügt.

Hinweise

Abhängig vom Wert bAddToMRU des Pfads wird der MRU-Liste, die von der Anwendung verwaltet wird, hinzugefügt oder nicht hinzugefügt. Beachten Sie, dass einige Dokumente keiner Datenträgerdatei zugeordnet sind. Rufen Sie diese Funktion nur auf, wenn Sie die Standardimplementierungen zum Öffnen und Speichern von Dateien überschreiben, die vom Framework verwendet werden.

CDocument::SetTitle

Rufen Sie diese Funktion auf, um den Titel des Dokuments anzugeben (die Zeichenfolge, die in der Titelleiste eines Rahmenfensters angezeigt wird).

virtual void SetTitle(LPCTSTR lpszTitle);

Parameter

lpszTitle
Zeigt auf die Zeichenfolge, die als Titel des Dokuments verwendet werden soll.

Hinweise

Durch Aufrufen dieser Funktion werden die Titel aller Rahmenfenster aktualisiert, in denen das Dokument angezeigt wird.

CDocument::UpdateAllViews

Rufen Sie diese Funktion auf, nachdem das Dokument geändert wurde.

void UpdateAllViews(
    CView* pSender,
    LPARAM lHint = 0L,
    CObject* pHint = NULL);

Parameter

pSender
Zeigt auf die Ansicht, die das Dokument geändert hat, oder NULL , wenn alle Ansichten aktualisiert werden sollen.

lHint
Enthält Informationen zur Änderung.

pHint
Zeigt auf ein Objekt, das Informationen über die Änderung speichert.

Hinweise

Sie sollten diese Funktion aufrufen, nachdem Sie die Memberfunktion aufgerufen SetModifiedFlag haben. Diese Funktion informiert jede ansicht, die an das Dokument angefügt ist, mit Ausnahme der durch angegebenen pSender Ansicht, dass das Dokument geändert wurde. Sie rufen diese Funktion in der Regel aus Ihrer Ansichtsklasse auf, nachdem der Benutzer das Dokument über eine Ansicht geändert hat.

Diese Funktion ruft die CView::OnUpdate Memberfunktion für jede Der Dokumentansichten auf, mit Ausnahme der sendenden Ansicht, wobei und übergeben pHint lHint werden. Verwenden Sie diese Parameter, um Informationen zu den Am Dokument vorgenommenen Änderungen an die Ansichten zu übergeben. Sie können Informationen lHint mithilfe von und/oder einer CObject von abgeleiteten Klasse codieren, um Informationen zu den Änderungen zu speichern und ein Objekt dieser Klasse mithilfe von zu pHint übergeben. Überschreiben Sie die CView::OnUpdate Memberfunktion in Ihrer CView von abgeleiteten Klasse, um die Aktualisierung der Anzeige der Ansicht basierend auf den übergebenen Informationen zu optimieren.

Beispiel

void CExampleDoc::OnUpdateAllViews()
{
   UpdateAllViews(NULL);
}

Siehe auch

MFC-Beispiel MDIDOCVW
MFC-Beispiel SNAPVW
MFC-Beispiel NPP
CCmdTarget Klasse
Hierarchiediagramm
CCmdTarget Klasse
CView Klasse
CDocTemplate Klasse