我用MFC的AppWizard生成了一个应用程序框架,在最后一步把CXXXView的其类改为CEditView.这时,在生成的就用程序中可以进行编辑文件.
当按下退出按纽时,会提示是否保存文件,
请问这一功能是怎样实现的?

解决方案 »

  1.   

    doc类里面有个参数(?)
    可以通过CDocument::SetModifiedFlag 来设置
      

  2.   

    这是通过文档模板管理器实现的。在CMyApp的InitInstance函数中有下面几句:
    m_pTemplate = new CMultiDocTemplate(
      IDR_TEXTTYPE,
      RUNTIME_CLASS(CTxtDoc),
      RUNTIME_CLASS(CChildFrame), // custom MDI child frame
      RUNTIME_CLASS(CTxtView));
    AddDocTemplate(m_pTemplate);这几句会调用CMyApp的成员m_pDocManager(文档模板管理器的指针)来将一个文档模板添加到管理器的列表中。当系统退出前,会调用m_pDocManager以关闭所有文件,后者将调用每一个文档模板以关闭该模板打开的文件。如果文件被修改过(文档的m_bModified属性为true),则弹出提示框。你只要使用了MFC的Document/View系统来管理你的文档,MFC就会给你提供上述支持,不用你操心的。