我正在将一些旧的 C++ 代码从旧的构建环境(VS2003)转移到(稍微)较新的(VS2010)——由于各种原因,较新的 IDE 不适合。我正在尝试用尽可能少的更改来构建它。
它从保存的文件中加载一组视图。我注意到的是,在 VS2010 上构建时,总是有一个额外的视图。我的结论是这个版本的 MFC 必须创建一个初始视图,而旧版本没有。
我想已经加载了所有我可以删除不需要的视图,但我想知道是否有更整洁的方法让它不首先创建不需要的视图?
我正在将一些旧的 C++ 代码从旧的构建环境(VS2003)转移到(稍微)较新的(VS2010)——由于各种原因,较新的 IDE 不适合。我正在尝试用尽可能少的更改来构建它。
它从保存的文件中加载一组视图。我注意到的是,在 VS2010 上构建时,总是有一个额外的视图。我的结论是这个版本的 MFC 必须创建一个初始视图,而旧版本没有。
我想已经加载了所有我可以删除不需要的视图,但我想知道是否有更整洁的方法让它不首先创建不需要的视图?
查看NewDocument()
应用程序初始化类中的一些调用。可能您将一些旧代码与向导生成的代码混合在一起。
我认为你有一个 MDI 应用程序,介于
// Parse command line for standard shell commands, DDE, file open
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
和
// Dispatch commands specified on the command line
if(! ProcessShellCommand(cmdInfo))
return FALSE;
你应该简单地说:
// suppress automatic creation of child window
if(CCommandLineInfo::FileNew == cmdInfo.m_nShellCommand)
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;
并且在启动时,您将不会有新的视图/文档。