深入MFC设计
更新时间:2023-12-13 20:11: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设计12-13
环艺专业毕业设计任务书04-13
某企业装配车间品质管理制度.doc08-15
说说是什么02-19
四年级上册生字表组词(人教)06-17
三一EBZ160C掘进机安全操作规程03-28
阴雨中的温暖作文500字06-18
2015年525内蒙古事业单位ABCDE类考试真题(2)04-30
急性肝炎症状有哪些04-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 深入
- 设计
- MFC
- 蟋蟀的住宅第一课时教学设计
- 成长作文之成长的滋味是甜的作文
- 某车站迁建工程路基防排水监理实施细则
- 内蒙古武兴水泥有限公司化验室质量手册 - 图文
- 2019年华南师范大学考研各专业参考书目汇总-华师各专业考研指定教材是什么?
- 关于沉陷区新农村景观建设之我见
- 大工14秋《桥涵水文》在线作业1答案
- 今日楼台鼎鼐,明年带砺山河全诗原文及赏析
- 小学语文教学随笔总汇(黑石70篇)
- 收货员工作总结
- Cognos报表开发规范
- 第一学期自主学习电影目录(修新)
- 曲折之路
- 营销总监岗位说明书 - 图文
- 企业获奖感言
- 广东省中山市第一中学2019届高三物理入门考试试题
- 客专公司在铁路建设质量暨标准化管理现场会上的经验交流材料
- 应付账款管理办法
- 人教版五年级下册语文日积月累集锦
- 纳米二氧化硅的制备及其对有机物