MFC实验六 文档视图和单文档界面

MFC实验六 文档视图和单文档界面

ID:38271899

大小:486.75 KB

页数:12页

时间:2019-06-07

MFC实验六 文档视图和单文档界面_第1页
MFC实验六 文档视图和单文档界面_第2页
MFC实验六 文档视图和单文档界面_第3页
MFC实验六 文档视图和单文档界面_第4页
MFC实验六 文档视图和单文档界面_第5页
资源描述:

《MFC实验六 文档视图和单文档界面》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验六文档/视图和单文档界面1.创建一个单文档界面应用程序,项目名设置为wx03.2.在文档类CWx03Doc中添加数据成员用于保存应用程序的数据。二维数组m_clrGrid用于保存每个方格的颜色,数据成员m_clrCurrentColor用于保存方格被单击时赋给方格的颜色。3.在文档类CWx03Doc的OnNewDocument函数中对数据成员进行初始化:4.向类wx03Doc添加三个成员函数,如下:函数定义如下:GetCurrentColor、GetSquare和SetSquare作为文档和视图之间的桥梁,视

2、图对象通过它们可以访问文档的保护成员。1.编辑CWx03View的OnDraw函数,在视图窗口中绘制网格,并根据文档类中保存的方格颜色来设置方格的颜色。1.在视图类CWx03View中添加消息处理函数WM_LBUTTONDOWN的处理函数:2.利用菜单编辑器编辑个添加如下菜单,各菜单的属性设置如下表:ID标题(Caption)ID_EDIT_CLEARALL清除所有方格ID_COLOR_RED红色(&R)ID_COLOR_GREEN绿色(&G)ID_COLOR_BLUE蓝色(&B)ID_COLOR_CUSTOM自

3、定义...3.在派生文本类中重载DeleteContents函数,用于清除所有方格内的颜色。1.为添加的菜单项添加命令消息处理函数和用户界面更新命令处理函数。由于这些函数都是针对文档数据的操作,因此将这些菜单命令的消息处理函数添加在文档类中。1.编译、链接和运行程序,结果如下:2.添加序列化功能,将各个方格的颜色以及当前颜色存入文件,并允许从文件中读取。1.编写一个SDI程序,可以用鼠标在视图窗口中划线,并能将所画的线条保存。2.定义一个新类Cline。3.编辑类Cline,在其中添加相应的数据成员和成员函数。1

4、.在文档类中添加保存线段的数组。在头文件wx03Doc.h中添加如下的数据成员和成员函数,并包含定义类Cline的头文件和使用MFC模板类时需要的头文件:在文档类的实现文件中编写添加的成员函数:1.当在视图窗口中按下鼠标右键时开始画线,鼠标右键抬起时完成线段的绘制,在鼠标移动的过程中画橡皮筋线。因此需要记录划线的起点和终点并设置画橡皮筋线的跟踪标志。画橡皮筋线时,需要将原来的线条删除,重新画一条从起点到当前鼠标指针坐标的线条,最简单的办法是使用R2_NOT绘图模式反转线条。在视图类CWx03View中添加如下的数

5、据成员和成员函数:在视图类CWx03View的实现文件中编写函数InvertLine:视图类中添加鼠标消息WM_RBUTTONDOWN、WM_MOUSEMOVE和WM_RBUTTONUP的处理函数并添加如下代码:1.为了在改变窗口大小或最小化后重新打开窗口,或在被覆盖后重新显示时保留原有的图形,必须在OnDraw函数中重新绘制文档中线段数组中的线段。2.在定义类Cline时实现了类的序列化,但只是一条线段的序列化,还必须保存文档类的数据。编写文档类wx03Doc的Serialize函数,完成对线段数组的序列化。3

6、.在文档类中重载DeleteContents函数:1.编译、链接和运行程序,用鼠标在视图窗口中画线并测试保存、新建、打开等命令,运行结果如图所示:2.为wx03增加滚动视图功能。执行Edit->Replace菜单命令,将视图类CWx03View头文件中所有Cview替换成CScrollView,同样将实现文件中的所有Cview替换成CScrollView。3.在视图类CWx03View中重载虚函数OnInitialUpdate,编辑该函数。4.修改鼠标消息处理函数,进行设备坐标与逻辑坐标之间的转换。在文档类中保存

7、的线段坐标是逻辑坐标,当窗口改变大小或滚动后,调用OnDraw重绘的线段使用的是逻辑坐标。1.在视图中画椭圆。在视图类wx03View中增加两个数据成员,分别保存椭圆的外接矩形和颜色,同时在构造函数中进行初始化。2.编辑视图类的OnDraw函数,绘制椭圆:1.在视图类中添加WM_LBUTTONDBLCLK消息处理函数,当在椭圆内双击时,改变椭圆的颜色:2.编译、链接和运行程序如下:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。