MFC文档/视图体系结构-创建没有初始视图的文档

MFC doc/view architecture - create document without initial view

本文关键字:文档 视图 体系结构 MFC 创建      更新时间:2023-10-16

我正在将一些旧的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;

在启动时,您将不会有新的视图/doc。