CMDIFrameWndEx::LoadMDIState
Načte seznam dříve otevřených dokumentů a zadané rozložení skupin s kartami MDI.
virtual BOOL LoadMDIState(
LPCTSTR lpszProfileName
);
Parametry
- [v]lpszProfileName
Určuje název profilu.
Vrácená hodnota
TRUEPokud úspěšný zatížení; FALSEPokud zatížení pak nebo se nezdařilo načíst data.
Poznámky
Chcete-li načíst nebo uložit stav karty MDI a skupin a seznam otevřených dokumentů, postupujte takto:
Volání CMDIFrameWndEx::SaveMDIState při ukončení hlavní rámec
Volání CMDIFrameWndEx::LoadMDIState při vytvoření hlavního rámce.Vhodným místem pro toto volání je před prvním zobrazením hlavní rámec.Přidat CWinAppEx::EnableLoadWindowPlacement (FALSE); před pMainFrame->LoadFrame (IDR_MAINFRAME);. přidat CBCGPWorkspace::ReloadWindowPlacement (pMainFrame); po volání LoadMDIState zobrazení hlavní rámec na pozici, která byla uložena v registru.
Přepsat GetDocumentName v CMDIChildWndEx -odvozené třídy, pokud aplikace zobrazí dokumenty, které nejsou uloženy jako soubory.Vrácený řetězec bude uložen v registru jako identifikátor dokumentu.Základní provedení CMDIChildWndEx::GetDocumentName vrátí hodnotu z CDocument::GetPathName.
Přepsat CMDIFrameWndEx::CreateDocumentWindow správně vytvoření dokumentů při jejich načítání z registru.První parametr je řetězec, který GetDocumentName vrátil.
Příklad
Následující příklad ukazuje jak LoadMDIState je používán VisualStudioDemo vzorku: aplikace 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;
}
Požadavky
Záhlaví: afxMDIFrameWndEx.h