CMDIFrameWndEx::LoadMDIState
Ładuje określony układ grup z zakładkami MDI i listę poprzednio otwieranych dokumentów.
virtual BOOL LoadMDIState(
LPCTSTR lpszProfileName
);
Parametry
- [w]lpszProfileName
Określa nazwę profilu.
Wartość zwracana
TRUEJeśli udało się obciążenia; FALSEJeżeli obciążenia nie powiodło się lub tam żadnych danych do załadowania.
Uwagi
Aby załadować lub zapisać stanu karty MDI i grup i wykaz otwartych dokumentów, wykonaj następujące czynności:
Wywołanie CMDIFrameWndEx::SaveMDIState po zamknięciu główna ramka
Wywołanie CMDIFrameWndEx::LoadMDIState podczas tworzenia w ramce głównej.Przed główna ramka jest wyświetlana po raz pierwszy jest zalecane miejsce dla tego wywołania.Dodaj CWinAppEx::EnableLoadWindowPlacement (FALSE); przed pMainFrame->LoadFrame (IDR_MAINFRAME);. Dodaj CBCGPWorkspace::ReloadWindowPlacement (pMainFrame); po wywołaniu LoadMDIState do wyświetlania w ramce głównej położeniu był przechowywany w rejestrze.
Zastąpić GetDocumentName w CMDIChildWndEx-uzyskane klasy, jeśli aplikacja wyświetla dokumenty, które nie są przechowywane jako pliki.Zwrócony ciąg zostanie zapisany w rejestrze jako identyfikator dokumentu.Bazowy wykonania CMDIChildWndEx::GetDocumentName zwraca wartość uzyskanych z CDocument::GetPathName.
Zastąpić CMDIFrameWndEx::CreateDocumentWindow poprawnie Tworzenie dokumentów, kiedy są ładowane z rejestru.Pierwszy parametr jest ciągiem, GetDocumentName zwracane.
Przykład
W poniższym przykładzie jak LoadMDIState jest używana w VisualStudioDemo próbki: Aplikacja Visual Studio MFC.
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew)
{
if (!pMainFrame->LoadMDIState(GetRegSectionPath()))
{
m_pStartDocTemplate->OpenDocumentFile(NULL);
}
}
else
{
// Dispatch commands specified on the command line
if (!ProcessShellCommand(cmdInfo))
return FALSE;
}
Wymagania
Nagłówek: afxMDIFrameWndEx.h