VS2010 MFC保存和加载界面状态

来源:互联网 发布:java pageoffice痕迹 编辑:程序博客网 时间:2024/05/22 15:54
MFC取消自动记忆界面布局的解决,重载该方法,详细的可以单步调试,看CDockPane.cpp源码:
//加载界面状态值
void CNSBClientProjectTestApp::LoadCustomState()
{
    //设置为TRUE,则自动加载界面记忆
    this->m_bSaveState = FALSE;
}

//保存界面状态值
void CNSBClientProjectTestApp::SaveCustomState()
{
    //设置为TRUE,则自动保存界面记忆
    this->m_bSaveState = FALSE;
}

3、取消自动记忆界面保存后,自己手动保存与加载:
//整个主窗口关闭事件(系统消息事件)
void CMainFrame::OnClose()
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    //保存界面状态
    CString strSectionPath = ::AFXGetRegPath(_T("WorkSpace"));
    if(!m_dockManager.SaveState(_T(strSectionPath) ,IDR_MAINFRAME)){
        MessageBox(_T("保存界面布局出错!") , "提示" , MB_OK | MB_ICONWARNING);
    }

    CMDIFrameWndEx::OnClose();
}

//加载保存的界面布局状态(自己加的函数),在App那边调用
BOOL CMainFrame::LoadMainFrmState()
{
    CString strSectionPath = ::AFXGetRegPath(_T("WorkSpace"));
    return m_dockManager.LoadState(_T(strSectionPath) ,IDR_MAINFRAME);
}

原创粉丝点击