现在遇到这样一个问题:
    用VS2008 SP1创建一个MFC MDI工程,MainFram带有Ribbon、状态栏等,并添加代码在菜单中实现将Ribbon、状态栏进行隐藏和恢复,隐藏/恢复使用xxx.ShowWindow(SW_HIDE)或xxx.ShowWindow(SW_SHOW)来实现。
    
    但如果将ribbon或状态栏隐藏后关闭这个exe,再次打开exe时ribbon和状态栏就是默认隐藏的,而不是显示出来。应该是系统具有一定的记忆性,在exe关闭时将这些界面元素的状态保存了下来。    请问大侠们,如何屏蔽/消除这种记忆性呢?不知道有没有兄弟遇到过类似问题啊?
先行谢过

解决方案 »

  1.   

    当然保存在注册表了。 app的initstance函数里有SetBaseRegistry
      

  2.   

    有  两个地方  注册表,  和  叫 ini 的文件
      

  3.   

    在ExitInstance()里加上ClearState(),这是Features pack(即BCG部分)的特性。
      

  4.   


    嗯,查了一下,是CleanState(),或者在CxxxApp的OnInitInstance()中加入:m_bSaveState=FALSE;这样就根本不写注册表了。问题解决了,谢谢诸位啦另外还有个相关问题,这里所说的写入注册表,是写到注册表里什么地方?因为在注册表里没有我自己的程序的表项
      

  5.   

    app的InitInstance里有SetRegistryKey制定的路径。 在那里就能找到。 根目录一般是Current user, 如果没, 就local machine。
      

  6.   

    在 "HKEY_CURRENT_USER\Software\应用程序向导生成的本地应用程序"  下面一般是这里,下面就能找到应用程序的名称