【问题标题】:CWinAppEx - overloading LoadState()CWinAppEx - 重载 LoadState()
【发布时间】:2011-05-06 01:16:08
【问题描述】:

我有一个 MFC MDI 应用程序,当我运行它时,它会烦人地加载工具栏等的先前状态。我已经设置了

 m_bSaveState = FALSE;

在 App 构造函数中......但它没有效果。所以我试图重载 LoadState() 方法,如下所示:

    // added this to the MainApp.h file
virtual BOOL LoadState(CWnd* pFrame, LPCTSTR lpszSectionName = NULL );

和...

 // added the following to the MainApp.cpp
 BOOL CDrumGenMDIApp::LoadState (CWnd* pFrame, LPCTSTR lpszSectionName )
{
// do nothing to pre-load the state from the Registry
return TRUE;
 }

...但是这个方法似乎永远不会被调用。当系统正在加载 Frames 时,我很确定它正在调用 LoadState() 的一些配置文件……但是如何让它调用我的重载方法?

谢谢

【问题讨论】:

    标签: mfc load state mdi


    【解决方案1】:

    查看头文件,你试图覆盖的函数没有声明为虚拟的,也不存在?!

    但是下面的函数是虚拟的:

      virtual BOOL LoadState(LPCTSTR lpszSectionName = NULL, CFrameImpl* pFrameImpl = NULL);
    

    我自己没有尝试过,但理论上应该可以。

    【讨论】:

      猜你喜欢
      • 2012-03-18
      • 2013-07-17
      • 1970-01-01
      • 2020-12-15
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多