深入MFC设计
更新时间:2024-02-27 00:07:01 阅读量: 综合文库 文档下载
第八章 Document-View深入探讨
实现思路:
这个很重要的说:
Document――MVC结构中的M 什么是Document,它有什么用呢??
这里的Document其实就是资料。
在MFC中的Document
CDocument可以接受的消息
注意,从这里可以看出,凡是继承自CCmdTarget的类都可以接收来自菜单或工具栏的WM_COMMAND消息。但是它并不继承自CWnd类,因此没有办法接收窗口消息!! 在MFC里CDocument类的作用是
中的第一,第五条
View――MVC结构中的V 什么是view,它有什么用??
View负责描述和显示Document中的资料。
在MFC中的View
CView可以接受的消息
Document Frame(View Frame)
Frame的作用:针对不同的View或Document提供接口。
Document Template――MVC架构中的C
CDocTemplate管理CDocument/CView/CFrameWnd
注意这里,
这里的LoadFrame函数的最后一个参数是一个CCreateContext类对象,它的一些成员变量:
这里的第一个成员变量代表了View类,其实它还只是一个CRuntimeClass类的指针。第二个参数代表了CDocTemplate类,即CMultiDocTemplate类对象。
第五步 View类的产生,在CFrameWnd类的OnCreate函数里开始创建View类对象
上面动态产生了Frame和Document, 下面是View的产生:
File/New与File/Open消息的总结
MFC中的Collections Classes
不同的Collections Classes,有不同的特性,我们应该根据不同的情况来进行选用,选用的一些原则如下:
MFC中的Collection Classes有三类,选用原则如下:
Template-Based Classes
MFC的collection classes里头有一些是template-based,对于类型检验的功夫做得比较好, MFC中的Template-Based Classes有下面两类:
使用方法:
注意:需要包含afxtempl.h!!
Scribble Step1的View:资料重绘与编辑
具体实现:
View的重绘动作:GetDocument和OnDraw
View与使用者的交谈(鼠标消息处理实例)
可以利用ClassWizard的辅佐加CScribbleView的三个成员函数OnLButtonDown,OnLButtonUp,OnMouseMove 可以利用WizardBar的辅佐代替ClassWizard来修改Message Map。
Serialize:对象的文件读写
储存和恢复对象的过程在MFC中就称为serialization。负责这件重要任务的,是MFC CObject类别中的一个名为Serialize的虚拟函数,文件的“读”,“写”动作均透过它。
Serialization以外的文件读写动作:
台面上的Serialize动作
台面下的Serialize写档奥秘
对照着前面的倾印吗,我们进行下面的探索。
让我们从使用者按下“Save As”菜单项目开始,追踪程序的进行。
“Save As”――》消息映射表――》CDocument::OnFileSaveAs――》 CDocument ::DoSave――》
AfxGetApp()->DoPromptFileName(newname…) OnSaveDocument(newname) ――》CDocument::OnSaveDocument――》CArchive saveArchive(pFile, CArchive::store | ..) Serialize(saveArchive) ――》CScribbleDoc::Serialize(CArchive &ar)
正在阅读:
深入MFC设计02-27
小学英语教师2022年度个人工作总结范文03-25
2010年精神文明建设自查总结06-02
退伍军人入党申请书提纲09-08
工具仪表使用管理制度04-22
13C呼气试验的方法学及在胃肠病临床的应用 - 图文11-19
c语言socket编程指南06-06
行政权力事项实施清单8605-21
清华大学发动机原理思考题答案第一至四及十章十一章(仅供参考) - 图文01-12
五虎赵水库主坝防渗处理方案及概算投资比较06-04
- 高一物理牛顿运动定律全套学习学案
- 水处理一级反渗透加还原剂亚硫酸氢钠后为什么ORP会升高
- 毕业设计(论文)-正文董家口 - 图文
- 荣盛酒店经营管理公司录用通知及入职承诺书II
- 第二讲 大学英语四级快速阅读技巧
- 质量管理体系文件(2015年委托第三方医药物流配送企业专用版本)
- 214071收款办法
- 苏轼对《文选》选文的评价
- 《诊断学基础B》1-8作业
- 广东省东莞市高一数学下学期期末教学质量检查试题
- 海南电网公司VIS推广应用管理办法
- 红星照耀中国习题
- 苏教版小学语文六年级上册期末复习资料之生字词整理
- 局域网组建与应用—王向东
- 税务稽查内部管理文书样式
- 环保社会实践调查表
- 九年级思品第一单元复习
- 2016年全国注册咨询工程师继续教育公路路线设计规范试卷
- 毕业设计-青岛港董家口港区防波堤设计
- 撞背锻炼方法与益处
- 深入
- 设计
- MFC