CMDIFrameWndEx::LoadMDIState
Charge la mise en page spécifiée MDI est tabulé les groupes et la liste de documents précédemment ouverts.
virtual BOOL LoadMDIState(
LPCTSTR lpszProfileName
);
Paramètres
- [in] lpszProfileName
Spécifie le nom du profil.
Valeur de retour
TRUE si la charge a réussi ; FALSE si la charge a échoué ou il n'existe aucune donnée à charger.
Notes
Pour charger ou enregistrer l'état des onglets MDI et des groupes et la liste de documents ouverts, procédez comme suit :
Appelez CMDIFrameWndEx::SaveMDIState lorsque le frame principal est fermé
Appelez CMDIFrameWndEx::LoadMDIState lorsque le frame principal est créé. L'emplacement recommandé pour cet appel est avant que le frame principal soit affichée pour la première fois. Ajoutez CWinAppEx::EnableLoadWindowPlacement(FALSE); avant qu' pMainFrame->LoadFrame (IDR_MAINFRAME);. ajoutez CBCGPWorkspace::ReloadWindowPlacement(pMainFrame); après l'appel à LoadMDIState pour afficher le frame principal à la position qui a été stocké dans le Registre.
Substituez GetDocumentName dans CMDIChildWndExclasse dérivée si votre application affiche des documents qui ne sont pas stockés en tant que fichiers. La chaîne retournée est enregistrée dans le Registre en tant qu'identificateur de document. L'implémentation de base de CMDIChildWndEx::GetDocumentName retourne une valeur obtenue à partir de CDocument::GetPathName.
Substitution CMDIFrameWndEx::CreateDocumentWindow pour créer correctement des documents lorsqu'ils sont chargés dans le Registre. Le premier paramètre est la chaîne qu' GetDocumentName est retournée.
Exemple
Les l'exemple suivant montre comment LoadMDIState est utilisé dans Exemple VisualStudioDemo : Application 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;
}
Configuration requise
en-tête : afxMDIFrameWndEx.h