作者在 2007-08-19 20:09:00 发布以下内容
CWinApp::OnFileOpen函数大概执行以下步骤:
1、提示用户选择文件;
2、选择一个匹配的文件模板;
3、创建文档、框架和视类;
4、打开文件;
5、将该文件和档案(CArchive)联系起来;
6、调用Serialize。
而OnFileNew不执行1、2、4、5几步,其他相同。具体的代码可以参考MFC\Src目录中的源程序。
如果你想实现OnFileOpen是为了读你自己定义的文件,一般不重载OnFileOpen,而是在Doc类的Serialize中写代码。如果不习惯CArchive类,也可以直接重载OnOpenDocument(它是Serialize的父函数)。这方面的例子可以参考VC++的diblook。
1、提示用户选择文件;
2、选择一个匹配的文件模板;
3、创建文档、框架和视类;
4、打开文件;
5、将该文件和档案(CArchive)联系起来;
6、调用Serialize。
而OnFileNew不执行1、2、4、5几步,其他相同。具体的代码可以参考MFC\Src目录中的源程序。
如果你想实现OnFileOpen是为了读你自己定义的文件,一般不重载OnFileOpen,而是在Doc类的Serialize中写代码。如果不习惯CArchive类,也可以直接重载OnOpenDocument(它是Serialize的父函数)。这方面的例子可以参考VC++的diblook。