CDocument类的DeleteContents方法究竟删除了什么东西

转载 2013年12月04日 15:05:31

CDocument类的DeleteContents方法究竟删除了什么东西

在关闭应用程序删除文档对象时,或用File->Open菜单打开一个文档时,需要清理文档中的数据。同文档的初始化一样,文档的清理也不是在文档的析构函数中完成,而是在文档的CDocument::DeleteContents()成员函数中完成的(想想为什么?)。析构函数只用于清除那些在对象生存期都将存在的数据项。DeleteContents()成员函数的调用有两个作用:

1.删除文档的数据;

2确信一个文档在使用前为空。

  前面已经说到,OnNewDocument函数会调用DeleteContents()函数。在用户选择File->Open菜单时,应用程序对象调用应用程序类的OnFileOpen成员函数,CWinApp::OnFileOpen调用内部的文档管理类CDocManager::OnFileOpen()成员函数,提示用户输入文件名。然后调用CWinApp::OpenDocumentFile打开一个文件。OpenDocumentFile在打开文件后首先调用DeleteContents成员函数清理文档中的数据,确保消除以前打开的文档的数据被清理掉。

  缺省的DeleteContents函数什么也不做。你需要重载DeleteContents函数,并编写自己的文档清理代码。要重载DeleteContents成员函数:

  从View菜单下选择ClassWizard,启动ClassWizard,选择Message Maps页。在ClassName下拉列表框中选择CEditorDoc,从ObjectIDs列表框选择CEditorDoc,在Message列表框双击DeleteContents。此时DeleteContents出现在Member functions列表框中,并被选中。点Edit Code按钮,开始编辑DeleteContents函数定义。

相关文章推荐

C++类和接口的设计原则探讨

  • 2013年08月02日 10:49
  • 3KB
  • 下载

据说iPhone 7有谜之噪音 它究竟是什么东西

一位名叫 Stephen Hackett 的用户不久前在自己的网站上分享了亲身经历:当他通过 iCloud 恢复自己的 iPhone 7 Plus 的时候,很快就注意到手机中发出了异响。当手机从桌子上...

李撒如图究竟是个什么东西——Lissajous curve

Lissajous Curve Lissajous curves are the family of curves described by the parametric equations ...

用户体验是个什么东西?用户体验如何评价好坏?怎样用一句话描述用户体验评价方法的核心? 标签: iphoneapple手机产品通讯工具 2012-05-24 10:41 1453人阅读 评论(0) 收

用户体验是个什么东西?用户体验如何评价好坏?怎样用一句话描述用户体验评价方法的核心?   个人对用户体验的目标是,做到“自然”。 举几个例子, 1,我观察3岁的小孩用i...
  • a325455
  • a325455
  • 2017年07月06日 17:30
  • 132

用户体验是什么东西?如何评价用户体验好坏?怎样用一句话描述用户体验评价方法的核心?

个人对用户体验的目标是,做到“自然”。 举几个例子, 1,我观察3岁的小孩用iphone很容易上手。比如,iphone的开锁,小孩甚至不用学就会用。因为触摸是人的天性,同时iphone通过...

用户体验是个什么东西?用户体验如何评价好坏?怎样用一句话描述用户体验评价方法的核心?

个人对用户体验的目标是,做到“自然”。 举几个例子, 我观察3岁的小孩用iphone很容易上手。比如,iphone的开锁,小孩甚至不用学就会用。因为触摸是人的天性,同时iphone通过箭头...

SenchaArchitect-2.0.0.000442

  • 2012年08月21日 09:07
  • 28.81MB
  • 下载

系统崩溃ORACLE数据库的恢复方法

系统崩溃Oracle数据库的恢复方法 一、            备份数据 把旧的ORACLE所有文件都COPY备份下来,删除旧目录,再重新安装ORACLE,目录和旧目录一样(如果不一样,要修...

定时提醒器-免费软件网

  • 2013年09月03日 19:50
  • 6.52MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CDocument类的DeleteContents方法究竟删除了什么东西
举报原因:
原因补充:

(最多只允许输入30个字)