- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第15章文档读写与打印
2012-10-24
面向对象程序设计教程
第十五章文档读写与打印
地空学院地信系
中国地质大学
教学目标
序列化
文档打印编程技术
1
2012-10-24
学习要求
深入理解序列化的基本思想
掌握序列化及相应处理代码的编制
了解MFC的打印工作流程
掌握打印程序编制
授课内容
15.1 序列化(Serialize)
15.2 打印和打印预览
15.3 自定义类的序列化
15.4 编写独立的打印处理程序
15.5 更新命令用户接口(UI )消息
调试技术
程序设计举例
2
2012-10-24
15.1 序列化(Serialize )
文档对象可以将其当前状态(由其成员变量的值
表示)写入到永久性存储体(通常是指磁盘)中,
以后还可从永久性存储体中读取对象的状态(载
入),从而重建对象。
在文档打开时能够自动把文档中的数据转换为文
档类所支持的对象,在保存文档时能够自动将文
档类对象转换为文档数据格式;
CArchive类
运算符:插入()
运算符:提取()
修改数据的存盘
设置修改标志的成员函数
CDocument::SetModifiedFlag
void SetModifiedFlag( BOOL bModified = TRUE );
设置的时机
一般在视图类函数中,修改数据后调用
3
2012-10-24
例15-1 序列化
为例11-7的吹泡泡程序增加序列化代码
if(ar.IsStoring())
{ ar m_nBubbleCount;
for(int i=0; im_nBubbleCount; i++)
ar m_rectBubble[i];}
else
{ ar m_nBubbleCount;
for(int i=0; im_nBubbleCount; i++)
ar m_rectBubble[i];}
注意事项
与的方向
变量存盘与取盘的顺序,必须保证一致!
计数器变量应在数组之前
4
2012-10-24
15.2 打印和打印预览
显示与打印的相同之处
显示与打印的不同之处
显示与打印的相同之处
文档打印时,OnDraw函数接收到的设备描述表对
象是与当前打印相关的CDc对象。
实现“所见即所得”(OnDraw为共用函数)
显示的调用顺序:OnPaint-OnDraw
打印的调用顺序:
文档评论(0)