CWinApp::OnFileOpen函数按照先后次序具体执行了哪些行为
1个回答
展开全部
1、提示用户选择文件;
2、选择一个匹配的文件模板;
3、创建文档、框架和视类;
4、打开文件;
5、将该文件和档案(CArchive)联系起来;
6、调用Serialize。
而OnFileNew不执行1、2、4、5几步,其他相同。具体的代码可以参考MFC/Src目录中的源程序。
如果你想实现OnFileOpen是为了读你自己定义的文件,一般不重载OnFileOpen,而是在Doc类的Serialize中写代码。如果不习惯 CArchive类,也可以直接重载OnOpenDocument(它是Serialize的父函数)。这方面的例子可以参考VC++的diblook。
如果你只是想显示一个与众不同的选择文件的对话框,一般需要重载OnFileOpen。大致的步骤是:
void CYourApp::OnFileOpen()
CString newName;
if(!ShowYourDialog(newName))
return; // 显示你的对话框
2、选择一个匹配的文件模板;
3、创建文档、框架和视类;
4、打开文件;
5、将该文件和档案(CArchive)联系起来;
6、调用Serialize。
而OnFileNew不执行1、2、4、5几步,其他相同。具体的代码可以参考MFC/Src目录中的源程序。
如果你想实现OnFileOpen是为了读你自己定义的文件,一般不重载OnFileOpen,而是在Doc类的Serialize中写代码。如果不习惯 CArchive类,也可以直接重载OnOpenDocument(它是Serialize的父函数)。这方面的例子可以参考VC++的diblook。
如果你只是想显示一个与众不同的选择文件的对话框,一般需要重载OnFileOpen。大致的步骤是:
void CYourApp::OnFileOpen()
CString newName;
if(!ShowYourDialog(newName))
return; // 显示你的对话框
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询