CMDIFrameWndEx::LoadMDIState
Carica il layout specificato dei gruppi MDI a schede e dell'elenco di documenti aperti in precedenza.
virtual BOOL LoadMDIState(
LPCTSTR lpszProfileName
);
Parametri
- [in] lpszProfileName
Specifica il nome del profilo.
Valore restituito
TRUE se il carico è riuscita, FALSE se il carico non è stato superato o non vi sono dati da caricare.
Note
Per caricare o salvare lo stato delle schede MDI e gruppi e l'elenco di documenti aperti, effettuare le operazioni seguenti:
Chiamare CMDIFrameWndEx::SaveMDIState quando la cornice principale sta chiudendo
Chiamare CMDIFrameWndEx::LoadMDIState quando la cornice principale è in fase di creazione.È consigliabile questa chiamata viene prima che la cornice principale visualizza per la prima volta.Aggiungere CWinAppEx::EnableLoadWindowPlacement(FALSE); prima pMainFrame->LoadFrame (IDR_MAINFRAME);. aggiungere CBCGPWorkspace::ReloadWindowPlacement(pMainFrame); dopo la chiamata a LoadMDIState per visualizzare la cornice principale in cui è stata archiviata nel Registro di sistema.
Eseguire l'override GetDocumentName in CMDIChildWndExclasse derivata se l'applicazione visualizza i documenti che non sono archiviati come file.La stringa restituita verrà salvata nel Registro di sistema dell'identificatore del documento.l'implementazione di base CMDIChildWndEx::GetDocumentName restituisce un valore ottenuto da CDocument::GetPathName.
Override CMDIFrameWndEx::CreateDocumentWindow correttamente per creare documenti quando non è dal Registro di sistema.Il primo parametro è una stringa che GetDocumentName restituito.
Esempio
Di seguito viene illustrato come LoadMDIState viene utilizzato in Esempio VisualStudioDemo: Applicazione MFC Visual Studio.
// 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;
}
Requisiti
intestazione: afxMDIFrameWndEx.h