- 8
- 0
- 约7.84千字
- 约 7页
- 2018-06-25 发布于河北
- 举报
VC菜单命令详解(文件打开、保存与关闭).doc
VC菜单命令详解(文件打开、保存与关闭)
五个命令ID: 处理函数
ID_FILE_NEW CWinApp::OnFileNew
ID_FILE_OPEN CWinApp::OnFileOpen
ID_FILE_SAVE CDocument::OnFileSave
ID_FILE_SAVEAS CDocument::OnFileSaveAs
ID_FILE_CLOSE CDocument::OnFileClose
1.ID_FILE_NEW
CWinApp::OnFileNew调用CDocManager::OnFileNew。
|
CDocManager::OnFileNew判断文档模板是否多于一个,是则显示文档类型对话框(AFX_IDD_NEWTYPEDLG)
让用户选择要创建的文档类型。然后调用CDocTemplate::OpenDocumentFile(NULL)。
|
CDocTemplate::OpenDocumentFile(LPCTSTR lpszPathName,BOOL bMake_Visible=TRUE)对于SDI和MDI的
处理不一样。
对于SDI,1,若已有文档打开,对其重新初始化,调用CDocument::SaveModified()保存当前文档;若没
有文档存在,则调用CreateNewDocument()创建文档对象,再调用CreateNewFrame(pDoucment,NULL)创建
文档的框架窗口。2,若lpszPathName为NULL,则调用CDocument::OnNewDocument()处理新文档,用
pDocument-SetPathName(lpszPathName)设置文档的路径。3,判断当前线程主框架窗口是否存在,不存
在则将1中创建的新框架作为主框架。4,调用InitialUpdateFrame显示框架窗口。
对于MDI,与SDI基本相同,但是没有第3步。
|
CDocument::OnNewDocument()首先调用DeleteContents()删除原文档内容,使用m_strPathName.Empty()
清除当前文档路径,SetModifiedFlag(FALSE)。
2.ID_FILE_OPEN
CWinApp::OnFileOpen调用CDocManager::OnFileOpen。
|
CDocManager::OnFileOpen首先显示文件打开对话框(AFX_IDS_OPENFILE),然后调用CWinApp::
OpenDocumentFile(FileName)。
|
CWinApp::OpenDocumentFile(FileName)调用CDocManager::OpenDocumentFile。
|
CDocManager::OpenDocumentFile(LPCTSTR lpszFileName)遍历文档模板,对每个模板用
MatchDocType(szPath,pOpenDocument)匹配文档类型。匹配时主要根据文件扩展名判断。若文件已经在
某个文档中打开,则激活文档的第一个视图,否则用匹配的文档模板pBestTemplate-OpenDocumentFile
(szPath)。
|
CDocTemplate::OpenDocumentFile调用CDocument::OnOpenDocument打开文件。
|
CDocument::OnOpenDocument打开文件,用DeleteContents删除现有文档内容,创建文件对应的CArchive
对象loadArchive,Serialize(loadArchive)读文件内容,SetModifiedFlage(FALSE)。
MDI: New Frame, New View?
SDI: Update View?
3.ID_FILE_SAVE
CDocument::OnFileSave调用CDocument::DoFileSave()。
|
CDocument::OnFileSave判断文件是否只读,是则DoSave(NULL),否则DoSave(m_strPathName)。
|
CDocument::DoSave(LPCTSTR lpszPathName,BOOL bReplace=TRUE)的流程为:1,判断lpszPathName不空
则
您可能关注的文档
最近下载
- 110kV变电站专项电气试验及调试方案.doc VIP
- 对外汉语考试试题及答案.docx VIP
- COUPLER微血管吻合器课件.pptx VIP
- GB 7594.1-1987 电线电缆橡皮绝缘和橡皮护套 第1部分一般规定-国家标准.pdf VIP
- 110kV送变电工程启动调试与试运行操作指南及案例解析.docx VIP
- 心衰合并肾功能不全的护理难点与解决方案.pptx VIP
- 关于2024年度民主生活会整改措施落实情况及2025年深入贯彻中央八项规定精神学习教育查摆问题整改情况的通报.docx VIP
- 2024-2025学年广东省潮州市高二上学期期末教学质量检测物理试卷.pdf VIP
- 上肢动脉CTA扫描技术课件最新完整版本.pptx VIP
- 2024年湖南汽车工程职业学院单招职业技能测试题库及答案(历年真题).docx VIP
原创力文档

文档评论(0)