2

我正在将一些旧的 C++ 代码从旧的构建环境(VS2003)转移到(稍微)较新的(VS2010)——由于各种原因,较新的 IDE 不适合。我正在尝试用尽可能少的更改来构建它。

它从保存的文件中加载一组视图。我注意到的是,在 VS2010 上构建时,总是有一个额外的视图。我的结论是这个版本的 MFC 必须创建一个初始视图,而旧版本没有。

我想已经加载了所有我可以删除不需要的视图,但我想知道是否有更整洁的方法让它不首先创建不需要的视图?

4

2 回答 2

1

查看NewDocument()应用程序初始化类中的一些调用。可能您将一些旧代码与向导生成的代码混合在一起。

于 2015-12-19T10:15:19.597 回答
0

我认为你有一个 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;

并且在启动时,您将不会有新的视图/文档。

于 2015-12-21T12:43:16.847 回答