Freigeben über


CMDIFrameWndEx::SaveMDIState

Speichert das aktuelle Layout von MDI mit den versehenen Gruppen und eine Liste der zuvor geöffneten Dokumenten.

virtual BOOL SaveMDIState(
   LPCTSTR lpszProfileName 
);

Parameter

  • [in] lpszProfileName
    Gibt den Profilnamen an.

Rückgabewert

TRUE, wenn die Speichern erfolgreich war; FALSE, wenn die Speichern fehlgeschlagen ist.

Hinweise

Um den Zustand von MDI-Registerkarten und Gruppen und Liste der geöffneten Dokumenten zu laden oder zu speichern, gehen Sie wie folgt vor:

  • Rufen Sie SaveMDIState auf, wenn der Hauptframes geschlossen wird

  • Rufen Sie CMDIFrameWndEx::LoadMDIState auf, wenn der Hauptframes erstellt wird. Der als empfohlenen Speicherort für diesen Aufruf ist, bevor der Hauptframes zum ersten Mal angezeigt wird.

  • Aufruf CWinAppEx::EnableLoadWindowPlacement(FALSE); vor pMainFrame->LoadFrame (IDR_MAINFRAME);

  • Rufen Sie CWinAppEx::ReloadWindowPlacement(pMainFrame) nach LoadMDIState auf, um den Hauptframes in der Position anzuzeigen, die in der Registrierung gespeichert wurde.

  • Überschreiben Sie GetDocumentName in CMDIChildWndEx von abgeleitete Klasse, wenn die Anwendung Dokumente anzeigt, die nicht als Dateien gespeichert sind. Die zurückgegebene Zeichenfolge ist in der Registrierung als Dokumentenbezeichner gespeichert. Weitere Informationen finden Sie unter CMDIChildWndEx::GetDocumentName.

  • Überschreiben CMDIFrameWndEx::CreateDocumentWindow, um von Dokumenten ordnungsgemäß zu erstellen, wenn sie aus der Registrierung geladen werden. Der Parameter zu CreateDocumentWindow ist die Zeichenfolge, die GetDocumentName zuvor zurückgegeben hat.

Beispiel

Im folgenden Beispiel wird gezeigt, wie SaveMDIState in VisualStudioDemo-Beispiel: MFC-Visual Studio-Anwendung verwendet wird.

void CMainFrame::OnClose()
{
    SaveMDIState(theApp.GetRegSectionPath());
    CMDIFrameWndEx::OnClose();
}

Anforderungen

Header: afxMDIFrameWndEx.h

Siehe auch

Referenz

CMDIFrameWndEx-Klasse

Hierarchiediagramm