【问题标题】:MFC doc/view architecture - create document without initial viewMFC 文档/视图体系结构 - 创建没有初始视图的文档
【发布时间】:2016-03-25 23:39:19
【问题描述】:
我正在将一些旧的 C++ 代码从旧的构建环境 (VS2003) 转移到一个(稍微)较新的 (VS2010) - 由于各种原因,较新的 IDE 不适合。我正在尝试用尽可能少的更改来构建它。
它从保存的文件中加载一组视图。我注意到的是,在 VS2010 上构建时,总是有一个额外的视图。我的结论是这个版本的 MFC 必须创建一个初始视图,而旧版本没有。
我想已经加载了所有这些我可以删除不需要的视图,但我想知道是否有一种更简洁的方法让它不首先创建不需要的视图?
【问题讨论】:
标签:
c++
visual-studio-2010
mfc
visual-studio-2003
document-view
【解决方案1】:
我假设你有一个 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;
在启动时,您不会有新的视图/文档。
【解决方案2】:
查看应用程序初始化类中的一些NewDocument() 调用。可能您将一些旧代码与向导生成的代码混合在一起。