实验三图形用户界面资源的使用.docx
《实验三图形用户界面资源的使用.docx》由会员分享,可在线阅读,更多相关《实验三图形用户界面资源的使用.docx(16页珍藏版)》请在冰豆网上搜索。
实验三图形用户界面资源的使用
实验三图形用户界面资源的使用
1学时
4
2实验目的与要求
学生能够使用Windows程序设计用户界面的基本元素和其使用方法。
熟悉界面设计的基本操作
3实验环境
WINDOWSXP;VisualC++6.0;
4准备工作
事先安装好VisualC++6.0
5实验内容
介绍用户界面的基本元素和其使用方法
创建学生管理系统各个界面,实现各界面的连接
6实验步骤
一、用户界面的基本元素和其使用方法
Windows应用程序包括众多图形元素,例如图标、光标、菜单、对话框等,每一个这样的元素都作为一种可以装入应用程序的资源来存放。
资源的描述和程序代码是分开的,这样做有两个好处:
一方面,多个应用程序可以引用一个资源的定义;另一方面,程序设计人员可以在不影响程序代码的情况下修改资源。
(1)使用AppWizard应用程序向导创建一个基于对话框的工程
在“工程”选项卡中选择“MFCAppWizard[exe]”选项
在VC环境中,有三种开发模式:
单个文档、多个文档以及对话框模式,我们在开发中多采用对话框模式。
在“MFCAppWizardStep1”对话框中,选择工程类型为基于对话框(Dialogbased)类型。
建立一个工程后,如下图:
将对话框上的“按钮”和“文本”都删掉,选中,按键盘上的delete键就可以了。
现在我们修改一下对话框的标题,选中对话框,右键,选择属性,在标题中将原标题改为“学生管理系统”,然后关闭该窗口就可以了。
如果我们想制作其他页面,就要在当前工程下再加入对话框。
具体方法如下:
选中工程中最上面的一个文件夹,右键,选择“insert”,在出现的对话框中选择“Dialog”,点击“新建”按钮就可以了。
然后在项目工作区中点中新生成的对话框,右键,“属性”,修改该对话框的名字。
并且利用以前讲的方法修改对话框的标题。
(2)为对话框中添加菜单项
选中工程中最上面的一个文件夹,右键,选择“insert”,在出现的对话框中选择“menu”,然后点击“新建”按钮。
可以选中文件列表中的菜单,右键,“属性”来更改菜单的名称。
下面我们来添加菜单。
在右边菜单条顶部有一个空白矩形,选中双击,在出现的对话框中给菜单命名。
通过这种方式,我们可以设置第一重菜单。
现在开始设置第二层菜单也就是子菜单,选中主菜单中的任意一个,下面都会出现一个空白矩形,这就是要添加的子菜单,选中这个矩形,双击。
子菜单需要给一个ID值,以便以后操作。
(ID要命名清楚)
注意:
每个控件实际上就是一个对象,对MFC类库中的函数调用都是通过对象实现的。
每一个具体的界面对象都有一个ID标识。
在源程序中对这个对象操作,就是通过对与它相关联的变量进行操作来完成的。
这个连接的变量就是类中的一个变量。
通常变量名是以"m_"开头的。
如此重复,完成整个菜单的操作。
菜单完成后,我们要将菜单加载到对话框中,将对话框选出来,右键属性,在菜单中选中我们已做好的菜单。
或者选择“classview”,右键你要加载菜单的以Dlg结尾的类,选择第四项“addmembervariable”(添加成员变量)
然后选择“onInitDialog()”初始对话框方法,双击,加入m_menu.LoadMenu(IDR_MENU1);
SetMenu(&m_menu);这两条语句。
编译运行看一下结果。
(3)为对话框添加其他控件
常用控件包括:
静态控件包括静态文本(StaticText)和图片控件(Picture)。
按钮控件:
按钮主要是指普通按钮、复选框按钮和单选按钮。
编辑控件包括编辑框(EditBox)控件实际上是一个简易的文本编辑器,用户可以在编辑框中输入并编辑文本。
编辑框既可以是单行的,也可以是多行的。
列表框控件,列表框主要用于输入,它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示。
列表框分单选列表框和多重选择列表框两种。
组合框控件:
组合框把一个编辑框和一个单选择列表框结合在了一起。
用户既可以在编辑框中输入,也可以从列表框中选择一个列表项来完成输入。
以及滚动条控件。
常见控件如下图所示:
(a)设定静态文本控件(statictext)
图中工具栏上第一行第3个就是静态文本空间,当鼠标停留在这个控件上时,会显示statictext字样。
这个控件是用来显示在对话框中需要给使用者看的文字的。
选中该标签,把鼠标移动到对话框上,会出现一个十字,在你想的位置上,拖一下,松开鼠标,这个控件就放上去了。
然后选中这个控件右键,属性,修改标题。
以此类推,放好“学号”,“姓名”,“性别”,“年龄”四个静态控件。
(b)编辑框控件(editbox)
编辑框控件一般是由用户输入信息。
它是工具栏中,第一行第四个控件。
其使用过程和静态文本控件很相似,但是一般我们会给每一个编辑框控件一个他自己独有的编号(ID)。
这样方便以后对这些数据进行操作。
(c)设定按钮(buttons)控件
当按钮被点击的时候后有一些事情发生,系统会做一些工作(完成某些功能),一般有单击和双击事件,在这个部分,我们先不考虑事件,只看一下按钮的应用。
工具栏中第一行倒数第二个控件是按钮。
也是在属性中设置按钮的标题和ID。
(4)连接页面
现在考虑将两个页面通过菜单联系起来,当我们选择“添加学生信息”菜单时,“学生信息”对话框会弹出。
(a)首先新生成的对话框创建类
选中新建的对话框,右键,选择“建立类向导(classwizard)”,
选择“创建一个新类”,然后OK。
出现下面页面:
在这个页面中给出类名,基类选为“CDialog”。
然后OK,确定。
(b)其次为菜单创建成员函数
选中菜单上要添加成员函数的项目,右键,“建立类向导(classwizard)”。
我们可以把菜单的成员函数加在任意一个类中。
(选择已有类)
选中你要的类后,点击”select”按钮,出现下面页面,在ID栏中选中你要处理的菜单ID,在右侧MESSAGE中,选择COMMAND,然后点击“addfunction”按钮来添加成员函数。
给成员函数起一个名字
然后“ok”。
并确定,此时选择项目工作区中的“classview”,打开你刚才选择的类,就会看见刚才生成的方法。
双击这个方法,在右侧我们来写代码。
在方法中添加如下两句代码:
CStudentstudent;//建立一个新对话框的对象
student.DoModal();//通过该对象的DoModal()方法将该对话框显示出来。
(c)引入类定义
在项目工作区中选择“fileview”,在住对话框的cpp文件中,在开头部分引入新建类。
#include"Student.h"
便已运行后,在点击菜单,“添加学生信息”时,新的对话框就会弹出。
(5)学生完成本组系统模块的界面设计,实现各页面之间的连接。
完成实验报告
7思考题
(1)如何创建一个基于对话框的工程?
(2)在程序运行中如何调用对话框?