CMDIFrameWndEx 类确实包含 LoadMDIState 方法,用于加载 MDI(Multiple Document Interface)应用程序的状态信息。以下是该方法的一般形式:
virtual BOOL LoadMDIState(LPCTSTR lpszProfileName, int nIndex = -1, int nCount = 1, BOOL bPrimaryOnly = TRUE);

参数说明:
  •  lpszProfileName:用于标识存储 MDI 状态信息的配置文件中的部分名称。

  •  nIndex:指定配置文件中的索引,用于加载多个 MDI 子窗口的状态信息。

  •  nCount:要加载的 MDI 子窗口的数量。

  •  bPrimaryOnly:如果为 TRUE,则仅加载主框架窗口的状态信息。


返回值:
返回一个布尔值,表示是否成功加载 MDI 状态信息。

通常,你可以在应用程序的 InitInstance 函数中调用 LoadMDIState 方法来加载 MDI 窗口的状态信息。例如:
BOOL CMyApp::InitInstance()
{
    // ...

    // 创建主框架窗口
    CMDIFrameWndEx* pMainFrame = new CMDIFrameWndEx;
    if (!pMainFrame->LoadFrame(IDR_MAINFRAME)) {
        return FALSE;
    }

    m_pMainWnd = pMainFrame;

    // 加载 MDI 状态信息
    pMainFrame->LoadMDIState(_T("MDIFrame"));

    // ...
    
    return TRUE;
}

在这个例子中,_T("MDIFrame") 是用于标识 MDI 状态信息的配置文件中的部分名称。




转载请注明出处:http://www.pingtaimeng.com/article/detail/18896/MFC/CMDIFrameWndEx