第15章单文档和多文档
第15章文档类与视图类及其应用;内容提要;§15.1.概述;1.单文档界面与多文档界面 ;由于每一个文档可以有多个视图,但每个视图只能对应于一个确定的文档;3. 文档/视图结构 ;文档/视图结构的工作机制;SDI文档/视图应用程序示意图 ;4.Doc/View框架的主要成员 ;CWinApp 类 ;CFrameWnd类 ;§15.2.文档及其派生类;1. 文档类;2.CDocument类的方法;Date;3. CDocument类的派生类构造;§15.3.视图及其派生类;1. 视图类;2. CView类的方法;3. CView类的派生类;§15.4.文档模板类;1.CDocTemplate类;2. CDocTemplate类的基本函数;3. CDocTemplate类的函数使用;3. CDocTemplate类的函数使用(续); 在应用程序的InitInstance()函数中,通过使用文档模板的构造函数创建文档模板的对象如下:
BOOL CMymdiApp::InitInstance()
{
…
CMultiDocTemplate* pDocTemplate2;
pDocTemplate2 = new CMultiDocTemplate
(
IDR_MYMDITYPE2,
//MDI派生文档类的CRuntimeClass对象的指针
RUNTIME_CLASS(CMymdiDoc2),
//MDI派生子框架类的CRuntimeClass对象的指针
RUNTIME_CLASS(CChildFrame),;//创建文档模板的对象
RUNTIME_CLASS(CMymdiView2));
//然后,使用CwinApp::AddDocTemplate()函数
//将新模板添加到应用程序的文档模板列表中。
AddDocTemplate(pDocTemplate2);
…
};文档模板字符串在资源文件中的定义了描绘文档模板的信息,它由最多9个子串组成。其格式如下:
nIDResource
WindowTitle\n //程序的标题栏上的标题
DocName\n //新文档的默认名
FileNewName\n //文档类型的名称
FilterName\n //匹配此类型文档的文件过滤器
FilterExt\n //文档的文件扩展名
RegFileTypeID\n //寄存器中的文档类型标识符
RegFileTypeName\n //寄存器中的文档类型名称
FilterMacExt(FilterWinExt)\n
//允许从FilterName删除的文件扩展名
FilterMacName(FilterWinName)
//允许Macintosh的文件类型被指定在FilterExt中;§15.5.编写单文档应用程序;[例15-1]创建一个标题为“ MySdi”的应用程序。主窗口中显示一文本“ 您好, 单文档界面的例程!”。 “ 编辑” 菜单含有菜单项“ 改变显示文本”,单击该项,弹出一个对话框,用以改变主窗口中的显示文本。;程序添加如图所示的对话框。并使用ClassWizard为对话框生成CDialog类的派生类CDlgInput,并为其中的EditBox控件(其ID为IDC_EDIT1)添加相关联的成员变量m_input,其类型为CString。;为CMysdiDoc类添加成员变量可有两种做法
用可视化编程工具,步骤如下:
在Workspace窗口的ClassView选项卡中展开Mysdi Class,右击CMysdiDoc;
在弹出菜单中,单击Add Member Variable;
输入变量类型为CString, 变量名m_str, 访问类型public:
单击 OK。
手工添加成员变量,步骤如下:
在Workspace窗口FileView选项卡中展开Mysdi files|Header Files,双击MysdiDoc.h,打开文件;
在CMysdiDoc的定义中,找到下面的程序代码段;
// Attributes
public:
在此之后手工添加成员变量:
CString m_str;;4.文档变量初始化;5.视图的输出;6.文档串行化;6.文档串行化;为使CInputDlg类在CMysdiDoc类中成为可识别的,必须在mysdiDoc.cpp文件中加入CInputDlg类的说明头文件InputDlg.h
#include “InputDlg.h” //加入头
您可能关注的文档
- 第11讲-高分子材料.ppt
- 第11讲——牛顿定律两类问题、程序法应用(10页).doc
- 第11课-《昂望星空——在线天文台》.ppt
- 第12章 机构系统的运转及速度波动的调节.pptx
- 第12周: 智力&创造力.pptx
- 第12章 变化的电磁场A(10学时).ppt
- 第12章 当代物理前沿.ppt
- 第12章 电磁相互作用简单版.ppt
- 第12章-2波动光学j.ppt
- 第12章 表面微细加工技术-用.ppt
- 返利主数据维护流程蓝图设计.pdf
- 财务管理高频考点与预算管理体系精要.pdf
- Java编程基础:修饰符、垃圾收集与.pdf
- 多元统计学实验报告:判别分析方法应用与比较.pdf
- 7.2正确认识中华传统文化 课件 2025-2026学年统编版高中政治必修四哲学与文化.pptx
- 1.3 科学的世界观与方法论 课件 2025-2026学年统编版高中政治必修四哲学与文化.pptx
- 7.1 文化的内涵与功能 2025-2026学年统编版高中政治必修四哲学与文化.pptx
- 8.3正确对待外来文化 课件 2025-2026学年统编版高中政治必修四哲学与文化.pptx
- 4.2 在实践中追求和发展真理(教案) 2025-2026学年统编版高中政治必修四哲学与文化.docx
- 3.3 唯物辩证法的实质与核心 课件 2025-2026学年统编版高中政治必修四哲学与文化.pptx
最近下载
- 内镜粘膜下剥离术ESD.doc VIP
- 省级优秀幼儿园教案小班绘本活动《这是谁的蛋》.docx VIP
- 2024海康威视门禁一体机用户手册.docx
- 2025秉法立世 智启未来律师事务所开业庆典活动方案.pptx
- 《老年活动策划与组织》教学设计——项目五 老年社区活动策划与组织.docx VIP
- Gene X ppt(Gene10 基因十)--Chapter10课件.ppt VIP
- 《老年活动策划与组织》教学设计——项目四 老年小组活动策划与组织.docx VIP
- 2025届福建省莆田市高三下学期第二次质量检测地理试题(解析版).pdf VIP
- 《老年活动策划与组织》教学设计——项目三 老年个别活动策划与组织..docx VIP
- 圆通速递网点智能调度.pptx
原创力文档

文档评论(0)