Partager via


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

Voir aussi

Référence

Classe de CMDIFrameWndEx

Graphique de la hiérarchie