欢迎来到天天文库
浏览记录
ID:62033773
大小:334.00 KB
页数:14页
时间:2021-04-15
《MFC文档视图结构-上机步骤.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验1.MFC对话框应用程序练习一、上机题目:1.一个简单的单文档应用程序——记事本程序2.文档串行化编程3.简单的班级学生查询系统(单文档多视图编程)二、上机目的:ﻩ1.通过这些程序可以达到以下目的:2.文档视图框架3.文档、视图、框架之间的相互作用三、题目说明1。记事本程序利用AppWizard,自动产生一个记事本程序。2. 文档串行化编程1)定义一个日期结构(包括年月日)置于文档对象中,在文档对象中序列化保存和读取,并在视图中显示日期信息(可以在编辑视图或普通视图中显示)。并通过对话框修改该信息.注:普通视图中显示文本方法:重载视图OnDraw函
2、数,利用其中pDC—〉TextOut函数输出相关信息。2) 建立一个表单视图(FormView),在建立控件输入矩形的左上角和右下角,在另外一个控件中显示该视图。注:视图会话函数:CDC*pDCTemp=m_Ctrl.GetWindowDC(); 得到视图的设备ﻩpDCTemp-〉Rectangle(m_x1,m_y1,m_x2,m_y2);绘制矩形3.简单的班级学生查询系统1)建立两个视图,其中左边为一个树视图,根节点为为学院(系)(这一级至少要有两个节点如计算机学院、软件学院),二级节点为学院的系(专业)(可以只针对计算机学院输入相关二级节点,如包
3、括网络工程、计算机科学、软件学院),右边为列表视图包含学生的姓名、学号、课程成绩等.2)要求当选择左边的计算机学院时,右边视图显示所有计算机学院的学生信息,当选择网络工程专业,只选择网络工程专业的学生信息。提交网站:wangluo09。ys168.comﻬ实现步骤:例1.一个简单的单文档应用程序——记事本程序1. 只要在AppWizard的Step6将BaseClass设置为EditView,AppWizard就自动完成了一个记事本程序的设计:2.运行程序,即可测试记事本的各种功能:3。说明:(1)打开Workshop中的Class视图,可以看到,一个
4、简单的单文档应用程序向导自动建立五个类:向导自动建立的类相应源文件其他源文件相应头文件其他头文件CAboutDlgStdAfx.cppStdAfx.hCXxxAppXxx。cppXxx.rcXxx.hResource.hCXxxViewXxxView。cppXxxView。hCXxxDocXxxDoc。cppXxxDoc。hCMainFrameMainFrame.cppMainFrame.h视(View)显示用户程序的数据及处理用户与文档的交互文档对象永久存储(磁盘文件)MainFrame框架窗口(2)MFC的文档—视结构:(3)每个类的主要函数:vo
5、id ﻩCAboutDlg::DoDataExchange(CDataExchange*pDX)int ﻩCMainFrame::OnCreate(LPCREATESTRUCTlpCreateStruct)//创建窗体的工具栏,状态栏等BOOLCMainFrame::PreCreateWindow(CREATESTRUCT& cs)BOOLCXxxApp::InitInstance()void CXxxApp::OnAppAbout()BOOL ﻩCXxxDoc::OnNewDocument()//初始化文档字符数据、字体信息等void CXxxDo
6、c::Serialize(CArchive&ar)BOOLCXxxView::PreCreateWindow(CREATESTRUCT& cs)void CXxxView::OnDraw(CDC*pDC) BOOL CXxxView::OnPreparePrinting(CPrintInfo*pInfo)//弹出打印对话框void CXxxView::OnBeginPrinting(CDC*pDC,CPrintInfo*pInfo)void CXxxView::OnEndPrinting(CDC* pDC, CPrintInfo*pInfo)CXxx
7、Doc*CXxxView::GetDocument()//non-debugversionis inline文档串行化编程将C++对象以字节流的形式保存在二进制文件中称为对象的串行化处理,经过串行化处理的称为持久对象,可以按需要在程序运行中存储和恢复。一、日期对象的串行化SerialData应用程序串行化日期结构数据,用对话框修改数据,用编辑/修改菜单打开对话框.1.用AppWizard建立一个普通单文档SerialDate工程2.添加一个对话框资源:1.用ClassWizard为三个编辑框添加变量m_Year,m_Month,m_Day2.用Clas
8、sWizard添加类CDateDialog(其基类为CDialog)5. 在头文件Serial
此文档下载收益归作者所有