MFC中新建了两个ToolBar之后,第一次运行程序时两个工具栏的位置正确,但是运行第二次时出现错误,最及时的办法就是删除注册表中的值,如上一篇日志所讲的那样,但是总是这样做太麻烦,而且生成程序之后不可能要求别人运行的时候先删除注册表中的值,烦恼了好久之后正好看到一篇日志,解决了所有问题,也就是“取消界面记忆功能”。
VS2010的界面记忆功能是为了方便用户定制界面,但是在开发阶段,记忆功能总会影响到开发的效果。
取消CDockablePane的记忆功能,在CMainFrame::OnCreate里面调用 EnableLoadDockState(FALSE);
取消工具栏的记忆功能,在App的LoadCustomState()和SaveCustomState()里面写上这句代码m_bSaveState = FALSE;
有时我为了临时打破记忆功能,可以修改工具栏的资源ID就可以了。