精品教材
第十四课 对话框
在设计Windows窗口程序的过程中,使用者与程序之间的人机交互,如:数据的输入和接收、系统信息的反馈等都是以窗口的形式提供的,这种窗口就是对话框。
在易语言中,按对话框建立方式的不同,可将对话框分为3种类型,即:预定义对话框、通用对话框和自定义对话框,它们可以通过以下方法分别建立:
① 利用信息框函数建立提示类对话框。
② 使用易语言提供的通用对话框控件来创建,如:打开文件、保存文件、字体设置等。
③ 使用窗体和标准控件根据需要进行设计完成,这种对话框称为自定义对话框或定制对话框。
按对话框执行方式原理的不同,可分为模式对话框和无模式对话框。 ? 模式对话框就是在继续其他操作前必须先关闭该对话框。
? 无模式对话框则允许在应用程序与对话框之间进行切换,而不必关闭。
一、提示类对话框
提示类对话框很简单,比如我们在需要提示的位置前使用信息框函数就可以。 例:在程序运行前,先提示一些信息,询问使用者是否确定要运行本程序,并根据使用者的选择来决定程序运行还是退出。
这个程序很简单,我们只要在启动窗口创建后询问一下使用者,代码如下:
在这里我们可以看到,信息框函数有三个参数,第一个参数是提示框的内容,第二个参数是显示的按钮,第三个参数是提示框的标题,具体的说明可以看一下易语言的提示信息。
- 41 -
易语言教程――初级版
二、自定义对话框
自定义对话框就是编程者根据应用程序的实际需要设计一个窗体。 建立自定义对话框的方法和步骤如下:
① 设计对话框界面,即设计对话框窗体、向窗体中添加相应的控件、调整窗体内的控件布局、设置窗体的控件的属性等。
② 利用载入函数,将窗体以模式对话框或无模式对话框的方式显示出来。 例:设计一个能同时输入学号、姓名、成绩的对话框。
跟我做:
1.新建一个“窗口程序”。
2.添加一个文字标签,用显示输入的信息。 3.用菜单编辑器建立一个菜单。 主菜单:成绩管理 子菜单:....输入信息
4.在“插入”菜单中选择“窗口”,添加一个新窗口。
5.在新窗口中加入3个文字标签、2个命令按钮、3个编辑框,设置好各控件的属性及布局后,如下图所示:
6.单击“工作夹”中的“程序”选项,在“窗口”中选择“_启动窗口”,对菜单“成绩管理”中的“输入信息”菜单项进行事件程序处理:
载入 (窗口1, , 真)
7.在“窗口1”中,对确定和取消按钮进行事件处理:
- 42 -
精品教材
8.运行程序,测试运行结果。 提示:
在对窗口1的确定按钮进行事件处理时,我们还可以加一些判断语句,如果输入的信息为空,则提示一下必须输入数据。
窗口1中所用的变量我们建议用全局变量,以名在二个窗口中传递时出错。 以上例子就是一个自定义对话框,其实自定义对话框的形式、内容有很多,并没有进行什么特别的限制,有时这个对话框甚至可以做的非常复杂,当然,一般的对话框只是进行一些信息提示,简单的数据输入、输出之类。
三、通用对话框
通用对话框其实是一个控件,它和我们以前用过的按钮、文字标签等控件是一样的,在使用之前,必须从控件箱中拖到设计窗口中,这样才可以使用。通用对话框控件在设计阶段可以被看到,但在程序运行时是不可见的,所以拖放通用对话框控件时,可以把它放在窗口的任意位置。
在这里,我们以打开文件对话框为例,简单介绍一下通用对话框的使用。
例:设计一个窗体,向窗体中加一个按钮控件、通用对话框控件、图片框控件、文字标签控件,利用通用对话框打开一个图片文件,并将该图片文件显示到图片框中,将该图片文件的路径及文件名显示到文字标签中。
跟我做:
1.新建一个“窗口程序”。
2.从控件箱中拖一个文字标签、按钮和图片框,设置各组件的位置与属性,然后拖一个通用对话框控件到任意位置,最终效果如图:
- 43 -
易语言教程――初级版
3.为按钮添加单击事件:
4.运行程序,单击按钮,选择一个图片,看是否能正确显示。
在这里,我们单击“选择图片文件”按钮时,打开的对话框默认只显示JPG文件,这是因为在代码:
通用对话框1.过滤器 = “所有文件|*.*|BMP图片|*.bmp|JPEG图片|*.jpg|GIF图片|*.gif”
- 44 -
精品教材
通用对话框1.初始过滤器 = 2
这里我们共有4个过滤器,指定的初始过滤器是第2个,则为JPEG图片,在这里要注意是从0开始的。
通用对话框除了打开文件以外,还可以设置字体、保存文件等,这些应用和打开文件差不多,有兴趣的同学可以做一下课后习题。
请你利用通用对话框控件编写一个应用程序。在窗体中添加一个通用对话框
控件、一个编辑框、两个命令按钮,当使用者单击第一个按钮时,显示一个打开文件的对话框,让使用者从中选择一个文件,在对话框中单击“确定”按钮后,可将选择的文件的路径及文件名显示到编辑框中。当使用者单击第二个按钮时,可显示字体对话框,用于设置编辑框中的文字的字体、字号、样式、效果。
附录 实例应用荟萃
一、百鸡问题。 二、鸡兔同笼。 三、图片浏览器。 四、MP3播放器。
- 45 -