2) 将之前定义的控件属性成员变量值作为XML配置文件中各元素的文本内容记录在文件中。程序运行时,先通过对XML配置文件的读入及解析获取界面各控件的配置信息,并赋值给相关函数变量,通过功能函数实现对控件大小、位置、可见性等属性的设置,最终显示所需界面,即完成了对程序界面的可定制。
2.2 实例程序功能及定制内容
该实例程序主要实现对104个动态数据量的实时处理与显示,其中模拟量8个,数字量96个,具体处理功能如下:
1) 模拟量和数字量可以动态刷新、实时显示;
2) 实现对8个原始模拟量按设定比例、位移处理并显示;
3) 实现96个数字量的位图方式显示,并可以读取其中任意连续位,并对读取量进行二进制、十751进制转换并显示。
根据以上程序模块,结合XML技术实现对程序界面各控件元素的定制。具体可定制内容为:
1) 界面所有非必要功能控件的可见性;
2) 界面所有控件的位置、大小;
3) 程序界面标题、各模拟量名称;
4) 对模拟量处理的比例和位移;
5) 进行二进制和十751进制显示的具体数字量位数范围。
3 基于MFC的程序界面设计
3.1 实例程序界面
3.2 基于对话框的程序界面设计流程
由图3-1所示,不同于大多数Windows界面文档/视图的结构模式,它是在对话框界面的基础上设计的,利用一系列控件组合而成。它将不同功能的控件组合运用,完成一些基本的交互功能,并编写特定的消息处理函数,通过将函数与相应控件的挂接实现简易的功能程序。
3.2.1 编写基于对话框程序的流程
编写基于对话框的程序的大致流程为:
1) 创建对话框资源,并添加各种所需的控件;
2) 对话框的显示;
3) 创建与控件相关的数据成员变量;
4) 创建对话框中相关控件的消息处理函数。
3.2.2 消息对话框
虽然本程序基于对话框设计,但也涉及另外一种对话框的应用——消息对话框,它在程序中作为对用户某些操作响应的文字提示,有较普遍的应用,只需用MFC类库中的函数MessageBox或AfxMessageBox来创建、显示和操作对话框。本次程序设计中主要用到了其最简单的信息提示的作用,例如:
AfxMessageBox("无法创建DOM对象!");
即可以创建一个含有文字信息“无法创建DOM对象”的提示对话框。
3.3 控件设定及相关函数
3.3.1 控件及其设定
MFC中用利用对话框资源编辑器来创建或编辑对话框或对话框模版。对话框编辑器能够向对话框中添加控件的布局和测试对话框运行,图3-2为对话框资源编辑器界面。打开对话框资源编辑器时,同时还会出现图3-3所示的控件(Controls)工具栏,利用控件(Controls)工具栏可以为对话框资源添加控件。
控件资源的添加有两种方法,一种是使用对话框资源编辑器向对话框资源中添加控件;另一种是用控件所属类的Create函数编程创建。本次程序设计主要利用第一种。
由图3-1可见,本程序主要用到以下控件:
静态文本:用来在指定位置显示特定的字符串,一般用来标识附近另一个控件的内容。本程序对该类控件定义了CString类型的成员变量,通过对其成员变量的赋值改变静态文本。
编辑框:用来接受用户输入的字符串。编辑框可以接受字符串、数字、密码等等;编辑框还可以设置成接收多行字符串的模式;可以自动进行大小写转换。本程序根据需要对该类控件定义了特定类型的(如int、double、CString等)成员变量,将同类型数据赋值给成员变量即可在编辑框中显示。 XML可定制图形用户界面设计技术(3):http://www.751com.cn/zidonghua/lunwen_7604.html