第16讲单文档程序结构
- 格式:ppt
- 大小:1.27 MB
- 文档页数:44


单文档和多文档窗口使用方法解析一.实验目的掌握利用开发平台创建单文档和多文档窗口方法掌握在窗口中输出文字、图形的方法及 MFC 中相关类的使用二.实验要求1 创建一个单文档窗口,在文档类定义一个整型变量,其取值范围从 0 ~ 1000 循环,在视图的中间显示该数字,当用户点击窗口的不同区域时,变量值按不同的增量增加并显示。
提示:在修改数据后,使用 Invalidate() 函数引起 MFC 对 OnDraw() 的调用,这样就可以用修改后的数据进行画图了。
关于对文档类的访问,见本实验的技术支持。
2 创建一个单文档窗口,鼠标在窗口上单击后在鼠标的位置显示一正方形,点击 20 次后清窗口,新的点击将不再增加新的正方形,而是将已输入的正方形在原位置显示,当然,在每20 单击后要重新清窗口。
(要求用 MFC 的通用类保存单击的信息,如 CList 类)知识点:画线当单击鼠标左键时,就可以获得一个点,即线条的起点。
接着按住鼠标左键并拖动一段距离后松开鼠标,此时也可以获得一个点,即线条的终点。
也就是说,我们需要捕获两个消息,一个是鼠标左键按下消息(WM_LBUTTONDOWN),在该消息响应函数中可以获得将要绘制的线条的起点;另一个是鼠标左键弹起来的消息(WM_LBUTTONUP),在该消息响应函数中可以获得将要绘制的线条的终点。
有了这两个点就可以绘制出一条线。
利用SDK全局函数实现画线功能为了进行绘图操作,必须获得一个设备描述表(DC),因此,首先定义一个HDC类型的变量:hdc,接着调用全局函数GetDC获得当前窗口的设备描述表。
因为CWnd类有一个成员变量(m_hWnd),而CView类派生于CWnd类,因此该类也有这样的一个成员变用于保存窗口句柄,而GetDC函数可以直接把这个成员变量作为参数来使用。
利用MFC的CDC类实现画线功能该类提供一个数据成员m_hDC类用来保存与CDC相关的DC句柄。
其道理与CWnd 类提供成员变量m_hWnd保存与窗口相关的窗口句柄是一样的。
mfc入门单文档MFC应用程序实例-图文14单文档MFC应用程序实例
对话框应用程序使用简洁高教,所以被广泛地使用。
对话框在默认情
况下缺少状态栏、f具栏等界面元素,不能算作是。
完整”的Wwbn应用
程序。
RIUt/Clllr面,可以看作是“标准”的Windown应用程序再面。
1.41技术要点
’MFC的单文档应用程序结构的一大特点是教据和界面分N,在单文
档应用程序中,程序中数据的保存、加藏和处理等功糖由CDocumtI完戚,而数据的显示由cV.州来完成a这种结构又被称为“文彬视田”结构,
在这种结构下.很容器做刊数据和界面的一对多关联。
‘MFC中提供T众多派生于CView的弦生类,每个类都翻IT同的功能,在新建项目时,可以根据蜜际需謇选样不同的根生类。
142实例步骤奉实棚将以CFonnView为例,演示在ViualC++60中新建单文档项目
的鼻体方法。
实例步骤如下所示。
(I)打开ViualC++6.0.单击。
File”/“N州‘菜单。
在弹出对话摧
中选择项目类撼为“MFCAppWiurd(e某e)1.在项目名称文本框中输
A“NffcSdi”,单击“OK-MHE入向导界面。
(2)在向导的Skpl中,选择“Sinlledoeummt“,其余琏项用默认值(参麒1:919)。
单击“Ne某t”按钮进人下一步。
(”向导的Step2.用于设置是否在程序中自动加A对散据库的支持,此步鼻对默认设置不做改动(参照图iIO),直接单击“Ne某r按钮进
AT一步。
程序设计的三种基本结构一、引言程序设计是计算机科学中的重要内容之一,而程序设计的基本结构是程序设计的核心。
程序设计的三种基本结构是顺序结构、选择结构和循环结构,它们是程序设计中最基本、最常用的三种结构。
二、顺序结构顺序结构是指按照一定的顺序执行程序中各个语句,每个语句都必须按照规定的先后次序依次执行。
在顺序结构中,每个语句只能被执行一次。
顺序结构常用于需要按照一定步骤完成任务的场合。
1. 语法格式```语句1;语句2;……语句n;```2. 实例```a = 1;b = 2;c = a + b;print(c);```三、选择结构选择结构是根据条件判断来决定是否执行某个语句或者执行哪个语句。
在选择结构中,根据条件表达式的值来确定所要执行的代码块。
选择结构常用于需要根据不同情况采取不同措施的场合。
1. if-else 语法格式```if (条件表达式){// 条件表达式为真时执行此处代码块} else {// 条件表达式为假时执行此处代码块}```2. switch-case 语法格式```switch (表达式){case 值1:// 表达式等于值1时执行此处代码块break;case 值2:// 表达式等于值2时执行此处代码块break;……default:// 表达式不等于任何一个值时执行此处代码块 break;}```3. 实例```a = 1;if (a == 1) {print("a 等于 1");} else {print("a 不等于 1");}b = "apple";switch (b) {case "apple":print("这是苹果");break;case "banana":print("这是香蕉");break;default:print("未知水果");}```四、循环结构循环结构是指根据一定的条件反复地执行某个语句或者一组语句。