Visual Basic 程序设计甘肃农业大学信息科学技术学院
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
菜单是所有窗口应用程序的最重要的特性之一,菜单用来表示程序的各项命令,并可以按应用程序的功能把命令分组,使得用户很容易访问不同类别的命令。功能类似的命令放在同一个子菜单中,功能相距较远的命令放在不同的子菜单中,这样组成一个个的子菜单,并用菜单栏中的各项来代表它们,便构成了整个菜单。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
Windows中应用程序的典型菜单形式
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
有关菜单的术语
– 菜单栏
应用程序的菜单都位于菜单栏上,在窗体标题栏的下面,由若干个菜单标题组成
– 菜单标题
也叫菜单名,是应用程序的第一层菜单,位于菜单栏上,是用以表示菜单的一个单词、短语。
– 菜单项
菜单中的某一项称为菜单项。
– 子菜单
从某个菜单项分支出来的另外一个菜单。有子菜单的菜单项右边带有一个三角符号。
– 分隔线
分隔线是在菜单项之间的一条水平直线,用于修饰菜单,它也看作是一个菜单项。
– 复选菜单
复选菜单也是一个菜单项,可以标记该菜单项是否被选择,如果被选择则在菜单项的左边加上一个对勾符。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
菜单分为两种基本类型:下拉式菜单和弹出式菜单。
– 下拉式菜单是 Windows应用程序中用得最多的菜单结构。菜单栏位于窗口标题栏下面,通过单击菜单栏中菜单标题选中某一主菜单项时,“下拉”出其相应的下一级菜单,这样逐级下拉,用一个个窗口的形式弹出在屏幕上。操作完毕即可从屏幕上消失,并恢复原来的屏幕状态。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
– 弹出式菜单是显示在窗体上并独立于菜单栏的浮动式菜单。弹出式菜单的显示大多由鼠标右键的单击来触发,其显示的位置取决于鼠标右键单击所在的位置。
因此,弹出式菜单又称为上下文菜单。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
在 Visual Basic中,把每个菜单项(主菜单或子菜单)看作是一个图形对象,即看作控件对象。菜单控件与其他控件一样,它具有定义外观与行为的属性,在设计或运行时可以设置 Caption,
Enabled,Visible等属性。
菜单控件只包含一个事件,即 Click事件,当用鼠标或键盘选中该菜单控件时,将调用该事件,其编程方法与其他控件没有差别。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
7.1.1 菜单编辑器
7.1.2 弹出菜单
7.1.3 动态定制菜单
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.1 菜单编辑器
菜单编辑器是 Visual Basic提供的用于设计菜单的编辑器。用菜单编辑器可以创建新的菜单和菜单项,在已有的菜单上增加新的菜单命令,编辑已有的菜单命令,以及修改和删除已有的菜单和菜单项
要打开菜单编辑器,可以使用如下三种方法:
– ( 1)执行“工具”菜单中的“菜单编辑器”命令或使用热键 Ctrl+E;
– ( 2)单击工具栏中的“菜单编辑器”按钮;
– ( 3)用鼠标右键单击窗体,然后单击“菜单编辑器”
命令。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.1 菜单编辑器
打开后的菜单编辑器
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.1 菜单编辑器
菜单编辑器分为 3部分:
– 菜单项属性区
用来输入或修改菜单项,设置属性。分为若干栏 。
– 编辑区
编辑区共有 7个按钮,用来对输入的菜单项进行简单的编辑。
– 菜单项显示区
菜单项显示区位于菜单设计器的底部,用来显示用户输入的菜单项。根据显示的各菜单项前内缩符号的多少,可以确定菜单的级别。一个菜单项前面的内缩符最多可以有 5个,顶级菜单没有内缩符。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.1 菜单编辑器
【 例 7-1】 设计一个能进行加、减运算和清空文本框信息的菜单。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
7.1.1 菜单编辑器
7.1.2 弹出菜单
7.1.3 动态定制菜单
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.2 弹出菜单
弹出式菜单能以灵活的方式为用户提供更加便利的操作,它可以根据用户单击鼠标右键时的位置,
动态地调整菜单项的显示位置。因此,弹出式菜单也称为上下文菜单,或快捷菜单。
建立弹出式菜单通常有两步:
– 首先用菜单编辑器建立菜单,
– 然后用 PopupMenu方法弹出显示。
– 第一步的操作与下拉式菜单基本相同,唯一的区别是需把菜单名(即顶级菜单)的“可见”属性设置为
False。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.2 弹出菜单
PopupMenu方法的格式为:
[对象,]PopupMenu <菜单名 > [,flags [,x [,y [,BoldCommand ] ] ] ]
说明:
– ( 1)对象
即窗体名,省略该项将打开当前窗体的菜单。
– ( 2)菜单名
是指通过菜单编辑器设计的菜单(至少有一个子菜单项)的名称。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.2 弹出菜单
说明:
– ( 3) Flags
为一些常量数值的设置,包含位置及行为两个指定值,如表
7.2所示。两个常数可以相加或以 or相连。
– ( 4) X和 Y
用来指定弹出式菜单显示位置的横坐标( X)和纵坐标( Y)。
如果省略,则弹出式菜单在鼠标光标的当前位置显示。
– ( 5) BoldCommand
指定在显示的弹出式菜单中将以粗体字体出现的菜单项的名称。
在弹出式菜单中只能有一个菜单项被加粗。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.2 弹出菜单
【 例 7-2】 通过弹出式菜单实现字体、字号的变化
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
7.1.1 菜单编辑器
7.1.2 弹出菜单
7.1.3 动态定制菜单
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.3 动态定制菜单
创建菜单控件数组
– Visual Basic将菜单项视为控件,可以运用控件数组来管理菜单项,即菜单控件数组。
– 应用菜单控件数组的好处主要有两个:
用于动态增删菜单项
简化编程,用一段过程代码处理多个菜单项。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.3 动态定制菜单
使菜单命令有效或无效
– 所有的菜单控件都具有 Enabled属性,当这个属性设为 False时,菜单命令无效使它不响应动作。当 Enabled属性设为 False时,快捷键的访问也无效。一个无效的菜单项变为灰色,如图所示 。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.3 动态定制菜单
隐藏菜单
– 如果将菜单的 Visible属性设置为 False,则在运行时和开发环境中菜单及其所有子菜单都将被隐藏。当下拉菜单中的一个菜单项不可见时,
其余的菜单项上移,以填补空出的空间。如果菜单条上的菜单不可见,则菜单条上其余的控件会左移以填补该空间。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.3 动态定制菜单
运行时添加菜单控件
– 运行时可以添加菜单项,例如,Visual Basic的“文件”菜单就是根据打开的工程名添加菜单,显示出最近打开的工程名。
– 运行时添加菜单项必须使用控件数组。为了在运行时可以添加菜单项,在设计时必须设置该菜单项的 Index属性为 0,使它自动成为控件数的一个元素,同时也创建了一个在运行不可见的分隔条。
当运行时用户第一次存储一个文件时,这个分隔条就会变得可见,
且第一个文件名被加到该菜单上。运行时每存储一个文件,则会再装入一个菜单控件到该数组中,从而使该菜单增长。运行时所创建的控件可以使用 Hide方法或者设置该控件的 Visible属性为
False来隐藏。如果要从内存中删除一个控件数组中的控件,可使用 Unload语句。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2 对话框设计
对话框( Dialog Box)是一种特殊的窗口,用来显示和获取信息与用户交流。
Visual Basic中对话框分为 3类:预定义对话框、
自定义对话框和通用对话框。
– 预定义对话框是系统提供的,Visual Basic提供的预定义对话框有两种:输入对话框和输出对话框,分别使用 MsgBox和 InputBox函数调用。
– 自定义对话框是用户根据自己的需要自行设计的。
– 通用对话框( Common Dialog Box)是一种可以添加到应用程序中的特殊控件,它可以产生 6种不同的可用于应用程序的标准对话框。用它可以方便地定义较为复杂的对话框。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2 对话框设计
7.2.1 通用对话框
7.2.2 文件对话框
7.2.3 其它对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.1 通用对话框
通用对话框控件提供了一组标准的系统对话框,可以用来进行打开或保存文件、选择字体、选择颜色、设置打印选项等操作。另外还可以调用 Windows帮助引擎来显示应用程序的帮助。在编制程序时,可以直接调用通用对话框控件完成上述功能,既减少了工作量,又使程序更加符合
Windows用户的使用习惯。
通用对话框是一种 ActiveX控件,在一般情况下,启动
Visual Basic后,在工具箱中并没有通用对话框控件。要使用通用对话框控件,必须首先把“通用对话框”控件添加到工具箱中,具体步骤如下:
– ( 1)选择“工程”菜单中的“部件”命令,打开“部件”对话框。
– ( 2)在控件选项卡中选中,Microsoft Common Dialog
Control6.0‖。
– ( 3)选择“确定”按钮,即可把通用对话框加到工具箱中。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.1 通用对话框
在应用程序中要使用通用对话框控件时,可以直接在设计阶段将其添加到窗体中。通用对话框控件将以图标的形式显示在窗体中,该图标的大小不能改变,可以放置在窗体的任何位置,程序运行时通用对话框控件并不显示,只有在程序运行时通过代码使用不同的方法才能显示相应的对话框。
用通用对话框工具在窗体上可以创建以下对话框窗口,分别为打开( Open)、另存为( Save As)、颜色
( Color)、字体( Font)、打印( Print)及帮助( Help)
窗口。设计时,将通用对话框添加到窗体上,通过在代码中设置其属性调用所需的对话框。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2 对话框设计
7.2.1 通用对话框
7.2.2 文件对话框
7.2.3 其它对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
文件对话框包括打开( Open)文件对话框和保存文件( Save As)对话框,如图所示,
主要用来获取用户指定的文件信息供程序使用
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
打开和保存文件对话框的主要属性如下:
– DefaultExt属性
设置对话框缺省的文件扩展名。当打开或保存一个没有扩展名的文件时,自动给该文件指定由 DefaultExt 属性指定的扩展名。
– DialogTitle属性
设置对话框的标题。在缺省情况下,“打开”对话框的标题是“打开”;“保存”对话框的标题是“另存为”。
– FileName属性
设置或返回要打开或保存文件的路径及文件名。可以设置默认打开或保存的文件名和返回用户在对话框中所选文件的路径和文件名。
– FileTitle属性
返回用户所选文件的文件名(不包含路径)。该属性与 FileName属性的主要区别是,FileName属性返回包含路径的文件名。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
打开和保存文件对话框的主要属性如下:
– Filter属性
设置对话框的文件列表框中显示的文件的类型。
Filter属性由一对或多对字符串组成,每对字符串包括文字说明和过滤器两部分,两部分之间用管道符,|‖隔开,各字符串之间也用管道符隔开。文字说明部分用来说明过滤器的用途;
过滤器部分用来设置显示的文件类型(一般由通配符和文件扩 展名组成,如,*.txt),如果在一个过滤器中要显示多种文件类型则用分号“;”把多种类型隔开。其格式如下:
– 通用对话框控件名称,Filter =―文字说明 |过滤器 1|文字说明 |过滤器 2……‖
– FilterIndex属性
设置默认的过滤器。用 Filter属性设置好过滤器后,每个过滤器都有一个值,第一个过滤器的值为 1,第二个过滤器的值为 2,
依此类推。 FilterIndex属性用来设置默认的过滤器。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
打开和保存文件对话框的主要属性如下:
– Flags属性
用于设置对话框的一些选项。
– InitDir属性
设置并返回对话框的初始目录。如果没有设置 InitDir属性,对话框则显示当前目录下的文件。
– MaxFileSize属性
设置文件名的最大长度,以字节为单位。取值范围 1~ 32k,缺省值是 256。
– CancelError属性
控制当在对话框中单击“取消”按钮时,是否显示错误信息。
如果设为 True,则显示错误信息,如果设为 False(缺省设置),则不显示错误信息。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
【 例 7-3】 编写程序,建立,打开,和,另存为,对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2 对话框设计
7.2.1 通用对话框
7.2.2 文件对话框
7.2.3 其它对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
颜色( Color)对话框
– 颜色( Color)对话框允许在调色板中选择颜色,或生成和选择自定义颜色,颜色对话框具有和文件对话框相同的一些属性,包括 CancelError,DialogTitle、
Help-Command,HelpContext,Help-File和 HelpKey
等,此外,还有两个属性:
Color属性
– 设置对话框的初始颜色,并可返回用户所选择的颜色给应用程序。
该属性是一个长整型数。
Flags属性
– Flags属性用来设置颜色对话框的一些选项。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
【 例 7-4】 为一按钮的 Click事件编写程序,
显示颜色对话框,并把窗体的背景色设置为选择的颜色。
Private Sub Command1_Click()
CommonDialog1.ShowColor
Form1.BackColor = CommonDialog1.Color
End Sub
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
字体( Font)对话框
– 利用对话框控件,可以建立一个字体对话框,
并可在该对话框中设置应用程序所需要的字体。
– 字体对话框主要属性。
FontBold,FontItalic,FontName,FontSize、
FontUnderline,FontStikeThru,Color分别设置选择粗体,斜体,字体名称,字体大、小,设置下划线,删除线效果,选择文字的颜色。
– 如果要使用这些属性,必须先将 Flags属性设为
cdlCFEffects或 256。
Flags的属性,主要取值见表 7.7。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
【 例 7-5】 用字体对话框设置文本框中显示的字体 。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
打印( Printer)对话框
– 打印( Print)对话框可以用于选择打印机,设置打印份数、页码范围等打印选项。
– 打印对话框具有以下主要属性:
Copies属性
– 设置要打印的份数。如果把 Flags的属性值设为 262144,则
Copies属性值总为 1。
Flags属性
– 设置字体对话框的一些选项。
FromPage和 ToPage属性
– 设置打印文档的页码范围,要使用这两个属性,必须把 Flags属性设置为 2。
Max和 Min:用来限制 FromPage和 ToPage的范围。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
【 例 7-6】 建立打印对话框。
– 在窗体上画一个通用对话框和一个命令按钮,
给命令按钮 Click事件编写如下代码:
Private Sub Command1_Click()
firstp = 1
lastp = 100
CommonDialog1.Flags = 8
CommonDialog1.ShowPrinter
CommonDialog1.Min = firstp
CommonDialog1.Max = lastp
End Sub
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.1 手工制作工具栏
用手工制作的工具栏,实际上是一个放置了一些工具按钮的图片框。通过设置图片框的 Align属性,
可以控制工具栏(图片框)在窗体中的位置,当改变窗体的大小时,Align属性值非 0的图片框会自动地改变大小,以适应窗体的宽度或高度。
图片框上各种工具按钮,如命令按钮、图形方式的选项和复选框、下拉列表控件等,可以通过不同的图像来表示对应的功能,还可以设置按钮的
ToolTipText属性为工具按钮添加工具提示。对于有些按钮如复选框等,需在其上放置两个图像,
分别代表按钮弹起及按下时的外观。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
Toolbar控件和 ImageList控件是 ActiveX控件的一部分,在使用前必须加载,Microsoft Windows
Common Controls 6.0‖,然后才能使用工具箱中新添加的 ImageList控件和 Toolbar控件。
创建 ImageList控件
– ImageList控件的作用像图像的储藏室,ImageList控件不能独立使用,它需要 Toolbar控件(或 ListView,
TabStrip,TreeView控件等)来显示所储存的图像。
– ImageList控件可以包含任意大小的所有图片文件,但是图片的显示大小都相同。通常,加入该控件的第一幅图像决定了随后加入图像的显示大小。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
创建 ImageList控件
– 在设计时,可以在 ImageList属性页中添加图像,按照顺序将需要的图像插入到 ImageList中。
– ImageList控件的 ListImage属性是对象的集合,每个对象可以存放图片文件。
图片文件类型有,bmp,.cur,.ico,.jpg和,gif等,并可通过索引( Index)或关键字( Key)来引用每个对象。
控件具有标准的集合方法,Add,Remove和 Clear。利用这些方法,用户可以在运行时添加、删除图像。一旦 ImageList关联到其他控件,就不能再删除或插入图像了。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
设置工具栏的属性
– 用鼠标双击 Toolbar控件,它将加入窗体并出现在窗体的顶部(也可单击控件后在窗体中画出控件)。通过设置 Toolbar1的 Align属性可以控制工具栏在窗体中的位置。当改变窗体的大小时,Align属性值为非 0的工具栏会自动改变大小以适应窗体的宽度或高度。
– 用鼠标右键单击窗体上的 Toolbar1,在弹出的快捷菜单中选择“属性”,将打开“属性页”
对话框,“通用”选项卡中的“图像列表”属性将被用来与 ImageList控件建立关联。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
设置工具栏的属性
– 在设计时,可以很方便地在工具栏控件中放置其他控件,例如,组合框、文本框或选项按钮控件等,这可按照下面的步骤执行:
创建工具栏控件,设置属性。
在工具栏中为希望显示的其他控件留出空间,然后加入占位符按钮,将其宽度设置为合适的值。
在占位符按钮上绘制其他控件。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
编写 ButtonClick事件代码
– 工具栏控件的常用事件有 ButtonClick事件和
Change事件。当用户单击按钮(占位符和分隔符样式的按钮除外)时,将激发 ButtonClick事件。此时可以用按钮的 Index属性或 Key属性标识被单击的按钮。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.3 创建状态栏
状态栏控件是由面板( Panels)集合构成的,在集合中最多可包含 16个窗格对象,每个对象可以显示图像和文本。
在运行时,可以通过 Text,Picture和 Width等属性动态地改变窗格对象。
– 要在设计时更改窗格对象的属性或添加窗格对象,可以用鼠标右键单击控件,然后选择“属性”来显示
“属性页”对话框。
状态栏控件的事件包括 PanelClick事件和
PanelDblClick事件等。
– 需要获得相应状态栏的单击事件,可以在 PanelClick事件过程中使用 Select Case语句。该事件包含的参数能够指出发生单击的窗格对象。相应的代码可如下:
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.3 创建状态栏
【 例 7-7】 利用工具栏来实现字体变化 。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.4 剪贴板的应用
剪贴板( Clipboard)对象用于操作 Windows的剪贴板上的文本和图形。通过剪贴板,用户能够复制、剪切和粘贴应用程序中的文本和图形。
剪贴板对象没有属性和事件,但具有一些方法,其中最为常用的方法是处理文本的 GetText和 SetText方法。
– GetText用于从剪贴板中返回文本,也可将它作为函数使用。
– SetText将文本复制到剪贴板上,替换先前存储在那里的文本,可将它作为一条语句使用。
– GetText和 SetText方法的格式为:
对象,GetText ( [格式 ])
Clipboard.SetText 字符串数据 [,格式 ]
其中,格式用于指定数据格式,默认为文本格式( vbCFText),还可设置 DDE( Dynamic Data Exchange)对话信息( vbCFLink)、
RTF( Rich Text Format)格式( vbCFRTF)等。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.4 剪贴板的应用
用于选定文本的属性有 SelLength,SelStart,SelText。
– SelLength是所选定文本的字符数;
– SelStart是选定文本的起点,如果没有文本被选中,则指出插入点的位置;
– SelText是所选择的文本,为字符串型,如果没有字符被选中,则为空字符串。
除了处理文本数据,Clipboard对象还用 GetData和
SetData方法处理图形,其语法格式与 GetText和 SetText
相同。
另外,
– 可以用 Clear方法清除剪贴板中的内容,在复制任何信息到剪贴板之前,应使用 Clear方法清除剪贴板中的内容。
– 还可以用 GetFormat方法判断 Clipboard中存放的数据格式。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.5 进度指示器
进度指示器可以用图形的方式来显示任务的进程,它的方框在任务进行过程中逐渐被充满。
– 如果应用程序中有耗时操作时,应该使用进度指示器来给用户提供良好的可视反馈信息。
进度栏控件( ProgressBar)与 Toolbar,
ImageList,StatusBar控件一样,是
Mscomctl.ocx文件中提供的 ActiveX控件之一。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.5 进度指示器
【 例 7-8】 创建一个安装软件进度器,如图所示 。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.6 使用带标签的控件
Visual Basic提供了两个带标签的控件:
TabStrip控件和 SSTab控件。
– 用户可以从部件对话框中将这些带有标签的控件添加到工具箱中,TabStrip控件的说明是
Microsoft Windows Common Controls,
SSTab控件的说明是 Microsoft Tabbed Dialog
Control。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.6 使用带标签的控件
利用如图所示的 SSTab控件,可以在设计时在每个标签上放入控件。当用户选择标签时,每个标签的内容自动显示。
用户必须在每个标签所属的区域内放入控件,而不是把控件放在窗体上的其他地方,然后再将其移到标签区域。如果只是简单地将一个控件移到标签区域,该控件会出现在
SSTab的上部,但它并不与某个标签有关联
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.6 使用带标签的控件
SSTab控件选项卡的样式、个数等可通过
“属性页”对话框进行定义。用鼠标右键单击窗体上 Toolbar1,在弹出的快捷菜单中选择“属性”命令,即可打开“属性页”
对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4 多重窗体与多文档界面
7.4.1 多重窗体的操作
7.4.2 多文档界面
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.1 多重窗体的操作
当一个应用程序中需要多个窗体界面时,如输入数据窗体、显示统计结果窗体和某些对话框等,
则需要用到多个窗体,称为多重窗体。
– 添加窗体
添加窗体可以通过“工程”菜单下的“添加窗体”菜单项或工具栏中“添加窗体”按钮将多个窗体逐个添加到工程中,也可以在资源管理器窗口中单击鼠标右键,通过弹出的快捷菜单来完成添加。窗体添加完成后,资源管理器窗口就会显示出新增加的窗体,
– 设置启动窗体
在多重窗体程序中,必须在多个窗体中确定哪个窗体作为第一个出现的窗体 ——启动窗体。如果没有指定,那么系统就把设计时的第一个窗体作为启动窗体。
只有启动窗体才能在运行程序时自动显示出来,其他窗体必须通过 Show方法才能显示。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.1 多重窗体的操作
多重窗体程序的存取
– 前面讲述过 Visual Basic的窗体文件是以,frm为扩展名存盘,工程文件以,vbp作为扩展名存盘。其中,工程文件中保存的是应用程序的设定和窗体文件路径等信息;窗体文件中保存的是该窗体的属性及其中的程序代码。
– 保存文件
保存文件使用“文件”菜单下的“保存工程”菜单项或工具栏中“保存工程”按钮,在弹出的保存对话框中选择存盘的路径和文件名。多个窗体将分成多个窗体文件保存。工程保存后,在保存的位置会生成工程文件(,vbp),多个窗体文件(,frm)和与窗体文件同名的二进制文件(,frx,当窗体设置了 Icon或 Picture等属性才能生成此文件)。
– 除了上述方法保存文件外,还可以使用“文件”菜单下的“文件另存为”菜单项将已经存在的工程更名存盘,或是在集成环境的
“工程资源管理器窗口”中使用右键快捷菜单对选中的工程或窗体进行更名存盘。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.1 多重窗体的操作
多重窗体程序的存取
– 前面讲述过 Visual Basic的窗体文件是以,frm为扩展名存盘,工程文件以,vbp作为扩展名存盘。其中,工程文件中保存的是应用程序的设定和窗体文件路径等信息;窗体文件中保存的是该窗体的属性及其中的程序代码。
– 打开文件
工程保存后,当需要再次打开时可以有两种方法:第一,用鼠标直接双击工程文件(,vbp),将打开 Visual Basic集成开发环境并调入指定工程;第二,首先进入 Visual Basic集成开发环境,使用“文件”
菜单下的“打开工程”菜单项,在弹出的“打开文件”对话框中选择工程文件打开。
注意:在多重窗体程序中,存盘后生成多个窗体文件,虽然 Visual
Basic环境可以将其中的某个窗体打开,但这样做会生成一个新的工程,而且该工程中仅有这一个窗体。因此,打开工程时必须打开其工程文件。
– 生成可执行文件
多重窗体程序生成可执行文件和单一窗体一样,使用“文件”菜单下的“生成工程名,exe‖菜单项。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4 多重窗体与多文档界面
7.4.1 多重窗体的操作
7.4.2 多文档界面
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.2 多文档界面
用户界面样式主要有两种:单文档界面和多文档界面。
– 所谓单文档界面就是通常情况下的文档和应用程序主界面是联系在一起的,记事本应用程序就是一个典型的单文档界面的程序。在记事本应用程序里面一次只能打开一个文档,如果要打开另外一个文档,就必须先关闭当前已打开的文档。
– 多文档界面( Multiple Document Interface)是由一个父窗口及多个子窗口组成的,其最为明显的例子就是
Office套装软件,比如用户可以在 Word应用程序中打开多个文件,并对已打开的文件进行不同的排列,文件之间来回切换以进行数据编辑。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.2 多文档界面
添加 MDI窗体
– 选择“工程”菜单中的“添加 MDI窗体”命令,窗体窗口中就会出现 MDI
画面,其默认名称为 MDIForm1。要在 MDI窗体中添加子窗体,则可通过下面的两个动作完成:
添加一个窗体。
将其 MDIChild属性设置为 True。
– 当然,若将 Form1窗体设为 MDI窗体的子窗体,则只需修改其 MDIChild属性即可。
自动定位窗体
– 最好将定位窗体的代码放在窗体的 Load过程,这样会在窗体实际出现在屏幕上之前将窗体定位。
创建浮动窗口
– 用户创建的窗体可以是浮动的或最顶层的,窗体也可以显示在其他窗体和窗口之前。最顶层模式的窗体无法被其他窗体覆盖,即使不是当前窗口也一直停留在所有窗体的最上层。浮动窗口总是浮动到表面,也就是说它可以被其他窗口覆盖,但马上自动变成当前窗口并显示在屏幕的最顶层。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.2 多文档界面
【 例 7-9】 多文档界面的建立。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.5 综合应用
【 例 7-10】 记事本的设计 图 7.34 记事本的设计界面
– 记事本是 Windows中最常用的应用程序之一,其程序小、使用方便,是用户编辑文本的有力工具。试用
Visual Basic编写记事本程序。
– 建立好的用户界面,如图所示。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.5 综合应用
【 例 7-10】 记事本的设计 图 7.34 记事本的设计界面
– 记事本是 Windows中最常用的应用程序之一,其程序小、使用方便,是用户编辑文本的有力工具。试用
Visual Basic编写记事本程序。
– 建立好的用户界面,如图所示。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.6 应用程序向导
为了提高应用程序开发的效率,Visual
Basic提供了,Visual Basic应用程序向导”
这一非常方便的程序生成器,用来生成一个应用程序的界面。
在 Visual Basic中选择“文件 |新建工程”,
就会打开“新建工程”对话框,打开
,Visual Basic应用程序向导”,然后在该向导的一步一步带领下设计应用程序的界面。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.6 应用程序向导
选择操作界面
– 一般它提供了三种常用的操作界面,如图 7.37,分别是:
,多文档界面”同时打开多个文档,如 Office应用程序。
,单文档界面”只能打开一个文档,如 Notepad文本编辑器。
,资源管理器样式”类似于 Windows资源管理器一样,有 TreeView等控件。
选择菜单和子菜单项
– 应用程序向导提供了文件、编辑、视图、工具、窗口和帮助 6个菜单名,
每个菜单名下有若干个菜单项,用户可自由地选择、取消菜单名或菜单项。由此可见,应用程序向导替用户省去了编辑菜单的时间。
选择工具栏按钮
– 同样应用程序向导提供的工具栏有 13个按钮(除分隔按钮外)。用户也可根据需要增加(右移所选按钮)或删除(左移所选按钮)。
应用程序向导也提供了加入其他窗体的功能,使应用程序更完美;另外,还提供了与数据库的链接等。。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社学完本章你应能够:
了解并掌握菜单设计;
掌握通用对话框的设计;
理解多重窗体和多文档界面;
掌握部分相关 ActiveX控件的使用;
了解应用程序向导的使用。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社思 考 题
1,菜单的主要作用是什么?下拉菜单和弹出菜单有什么区别?
2,菜单访问的热键和快捷键有什么区别?
如何建立它们?
3,怎样在“打开”对话框内过滤多种文件类型?怎样在“另存为”对话框内传送文件名?
4,多窗体程序中怎样制定启动窗体?
5,多重窗体和 MDI窗体结构有何区别?
6,如何建立 MDI应用程序?
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
菜单是所有窗口应用程序的最重要的特性之一,菜单用来表示程序的各项命令,并可以按应用程序的功能把命令分组,使得用户很容易访问不同类别的命令。功能类似的命令放在同一个子菜单中,功能相距较远的命令放在不同的子菜单中,这样组成一个个的子菜单,并用菜单栏中的各项来代表它们,便构成了整个菜单。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
Windows中应用程序的典型菜单形式
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
有关菜单的术语
– 菜单栏
应用程序的菜单都位于菜单栏上,在窗体标题栏的下面,由若干个菜单标题组成
– 菜单标题
也叫菜单名,是应用程序的第一层菜单,位于菜单栏上,是用以表示菜单的一个单词、短语。
– 菜单项
菜单中的某一项称为菜单项。
– 子菜单
从某个菜单项分支出来的另外一个菜单。有子菜单的菜单项右边带有一个三角符号。
– 分隔线
分隔线是在菜单项之间的一条水平直线,用于修饰菜单,它也看作是一个菜单项。
– 复选菜单
复选菜单也是一个菜单项,可以标记该菜单项是否被选择,如果被选择则在菜单项的左边加上一个对勾符。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
菜单分为两种基本类型:下拉式菜单和弹出式菜单。
– 下拉式菜单是 Windows应用程序中用得最多的菜单结构。菜单栏位于窗口标题栏下面,通过单击菜单栏中菜单标题选中某一主菜单项时,“下拉”出其相应的下一级菜单,这样逐级下拉,用一个个窗口的形式弹出在屏幕上。操作完毕即可从屏幕上消失,并恢复原来的屏幕状态。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
– 弹出式菜单是显示在窗体上并独立于菜单栏的浮动式菜单。弹出式菜单的显示大多由鼠标右键的单击来触发,其显示的位置取决于鼠标右键单击所在的位置。
因此,弹出式菜单又称为上下文菜单。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
在 Visual Basic中,把每个菜单项(主菜单或子菜单)看作是一个图形对象,即看作控件对象。菜单控件与其他控件一样,它具有定义外观与行为的属性,在设计或运行时可以设置 Caption,
Enabled,Visible等属性。
菜单控件只包含一个事件,即 Click事件,当用鼠标或键盘选中该菜单控件时,将调用该事件,其编程方法与其他控件没有差别。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
7.1.1 菜单编辑器
7.1.2 弹出菜单
7.1.3 动态定制菜单
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.1 菜单编辑器
菜单编辑器是 Visual Basic提供的用于设计菜单的编辑器。用菜单编辑器可以创建新的菜单和菜单项,在已有的菜单上增加新的菜单命令,编辑已有的菜单命令,以及修改和删除已有的菜单和菜单项
要打开菜单编辑器,可以使用如下三种方法:
– ( 1)执行“工具”菜单中的“菜单编辑器”命令或使用热键 Ctrl+E;
– ( 2)单击工具栏中的“菜单编辑器”按钮;
– ( 3)用鼠标右键单击窗体,然后单击“菜单编辑器”
命令。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.1 菜单编辑器
打开后的菜单编辑器
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.1 菜单编辑器
菜单编辑器分为 3部分:
– 菜单项属性区
用来输入或修改菜单项,设置属性。分为若干栏 。
– 编辑区
编辑区共有 7个按钮,用来对输入的菜单项进行简单的编辑。
– 菜单项显示区
菜单项显示区位于菜单设计器的底部,用来显示用户输入的菜单项。根据显示的各菜单项前内缩符号的多少,可以确定菜单的级别。一个菜单项前面的内缩符最多可以有 5个,顶级菜单没有内缩符。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.1 菜单编辑器
【 例 7-1】 设计一个能进行加、减运算和清空文本框信息的菜单。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
7.1.1 菜单编辑器
7.1.2 弹出菜单
7.1.3 动态定制菜单
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.2 弹出菜单
弹出式菜单能以灵活的方式为用户提供更加便利的操作,它可以根据用户单击鼠标右键时的位置,
动态地调整菜单项的显示位置。因此,弹出式菜单也称为上下文菜单,或快捷菜单。
建立弹出式菜单通常有两步:
– 首先用菜单编辑器建立菜单,
– 然后用 PopupMenu方法弹出显示。
– 第一步的操作与下拉式菜单基本相同,唯一的区别是需把菜单名(即顶级菜单)的“可见”属性设置为
False。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.2 弹出菜单
PopupMenu方法的格式为:
[对象,]PopupMenu <菜单名 > [,flags [,x [,y [,BoldCommand ] ] ] ]
说明:
– ( 1)对象
即窗体名,省略该项将打开当前窗体的菜单。
– ( 2)菜单名
是指通过菜单编辑器设计的菜单(至少有一个子菜单项)的名称。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.2 弹出菜单
说明:
– ( 3) Flags
为一些常量数值的设置,包含位置及行为两个指定值,如表
7.2所示。两个常数可以相加或以 or相连。
– ( 4) X和 Y
用来指定弹出式菜单显示位置的横坐标( X)和纵坐标( Y)。
如果省略,则弹出式菜单在鼠标光标的当前位置显示。
– ( 5) BoldCommand
指定在显示的弹出式菜单中将以粗体字体出现的菜单项的名称。
在弹出式菜单中只能有一个菜单项被加粗。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.2 弹出菜单
【 例 7-2】 通过弹出式菜单实现字体、字号的变化
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1 菜单设计
7.1.1 菜单编辑器
7.1.2 弹出菜单
7.1.3 动态定制菜单
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.3 动态定制菜单
创建菜单控件数组
– Visual Basic将菜单项视为控件,可以运用控件数组来管理菜单项,即菜单控件数组。
– 应用菜单控件数组的好处主要有两个:
用于动态增删菜单项
简化编程,用一段过程代码处理多个菜单项。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.3 动态定制菜单
使菜单命令有效或无效
– 所有的菜单控件都具有 Enabled属性,当这个属性设为 False时,菜单命令无效使它不响应动作。当 Enabled属性设为 False时,快捷键的访问也无效。一个无效的菜单项变为灰色,如图所示 。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.3 动态定制菜单
隐藏菜单
– 如果将菜单的 Visible属性设置为 False,则在运行时和开发环境中菜单及其所有子菜单都将被隐藏。当下拉菜单中的一个菜单项不可见时,
其余的菜单项上移,以填补空出的空间。如果菜单条上的菜单不可见,则菜单条上其余的控件会左移以填补该空间。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.1.3 动态定制菜单
运行时添加菜单控件
– 运行时可以添加菜单项,例如,Visual Basic的“文件”菜单就是根据打开的工程名添加菜单,显示出最近打开的工程名。
– 运行时添加菜单项必须使用控件数组。为了在运行时可以添加菜单项,在设计时必须设置该菜单项的 Index属性为 0,使它自动成为控件数的一个元素,同时也创建了一个在运行不可见的分隔条。
当运行时用户第一次存储一个文件时,这个分隔条就会变得可见,
且第一个文件名被加到该菜单上。运行时每存储一个文件,则会再装入一个菜单控件到该数组中,从而使该菜单增长。运行时所创建的控件可以使用 Hide方法或者设置该控件的 Visible属性为
False来隐藏。如果要从内存中删除一个控件数组中的控件,可使用 Unload语句。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2 对话框设计
对话框( Dialog Box)是一种特殊的窗口,用来显示和获取信息与用户交流。
Visual Basic中对话框分为 3类:预定义对话框、
自定义对话框和通用对话框。
– 预定义对话框是系统提供的,Visual Basic提供的预定义对话框有两种:输入对话框和输出对话框,分别使用 MsgBox和 InputBox函数调用。
– 自定义对话框是用户根据自己的需要自行设计的。
– 通用对话框( Common Dialog Box)是一种可以添加到应用程序中的特殊控件,它可以产生 6种不同的可用于应用程序的标准对话框。用它可以方便地定义较为复杂的对话框。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2 对话框设计
7.2.1 通用对话框
7.2.2 文件对话框
7.2.3 其它对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.1 通用对话框
通用对话框控件提供了一组标准的系统对话框,可以用来进行打开或保存文件、选择字体、选择颜色、设置打印选项等操作。另外还可以调用 Windows帮助引擎来显示应用程序的帮助。在编制程序时,可以直接调用通用对话框控件完成上述功能,既减少了工作量,又使程序更加符合
Windows用户的使用习惯。
通用对话框是一种 ActiveX控件,在一般情况下,启动
Visual Basic后,在工具箱中并没有通用对话框控件。要使用通用对话框控件,必须首先把“通用对话框”控件添加到工具箱中,具体步骤如下:
– ( 1)选择“工程”菜单中的“部件”命令,打开“部件”对话框。
– ( 2)在控件选项卡中选中,Microsoft Common Dialog
Control6.0‖。
– ( 3)选择“确定”按钮,即可把通用对话框加到工具箱中。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.1 通用对话框
在应用程序中要使用通用对话框控件时,可以直接在设计阶段将其添加到窗体中。通用对话框控件将以图标的形式显示在窗体中,该图标的大小不能改变,可以放置在窗体的任何位置,程序运行时通用对话框控件并不显示,只有在程序运行时通过代码使用不同的方法才能显示相应的对话框。
用通用对话框工具在窗体上可以创建以下对话框窗口,分别为打开( Open)、另存为( Save As)、颜色
( Color)、字体( Font)、打印( Print)及帮助( Help)
窗口。设计时,将通用对话框添加到窗体上,通过在代码中设置其属性调用所需的对话框。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2 对话框设计
7.2.1 通用对话框
7.2.2 文件对话框
7.2.3 其它对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
文件对话框包括打开( Open)文件对话框和保存文件( Save As)对话框,如图所示,
主要用来获取用户指定的文件信息供程序使用
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
打开和保存文件对话框的主要属性如下:
– DefaultExt属性
设置对话框缺省的文件扩展名。当打开或保存一个没有扩展名的文件时,自动给该文件指定由 DefaultExt 属性指定的扩展名。
– DialogTitle属性
设置对话框的标题。在缺省情况下,“打开”对话框的标题是“打开”;“保存”对话框的标题是“另存为”。
– FileName属性
设置或返回要打开或保存文件的路径及文件名。可以设置默认打开或保存的文件名和返回用户在对话框中所选文件的路径和文件名。
– FileTitle属性
返回用户所选文件的文件名(不包含路径)。该属性与 FileName属性的主要区别是,FileName属性返回包含路径的文件名。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
打开和保存文件对话框的主要属性如下:
– Filter属性
设置对话框的文件列表框中显示的文件的类型。
Filter属性由一对或多对字符串组成,每对字符串包括文字说明和过滤器两部分,两部分之间用管道符,|‖隔开,各字符串之间也用管道符隔开。文字说明部分用来说明过滤器的用途;
过滤器部分用来设置显示的文件类型(一般由通配符和文件扩 展名组成,如,*.txt),如果在一个过滤器中要显示多种文件类型则用分号“;”把多种类型隔开。其格式如下:
– 通用对话框控件名称,Filter =―文字说明 |过滤器 1|文字说明 |过滤器 2……‖
– FilterIndex属性
设置默认的过滤器。用 Filter属性设置好过滤器后,每个过滤器都有一个值,第一个过滤器的值为 1,第二个过滤器的值为 2,
依此类推。 FilterIndex属性用来设置默认的过滤器。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
打开和保存文件对话框的主要属性如下:
– Flags属性
用于设置对话框的一些选项。
– InitDir属性
设置并返回对话框的初始目录。如果没有设置 InitDir属性,对话框则显示当前目录下的文件。
– MaxFileSize属性
设置文件名的最大长度,以字节为单位。取值范围 1~ 32k,缺省值是 256。
– CancelError属性
控制当在对话框中单击“取消”按钮时,是否显示错误信息。
如果设为 True,则显示错误信息,如果设为 False(缺省设置),则不显示错误信息。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.2 文件对话框
【 例 7-3】 编写程序,建立,打开,和,另存为,对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2 对话框设计
7.2.1 通用对话框
7.2.2 文件对话框
7.2.3 其它对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
颜色( Color)对话框
– 颜色( Color)对话框允许在调色板中选择颜色,或生成和选择自定义颜色,颜色对话框具有和文件对话框相同的一些属性,包括 CancelError,DialogTitle、
Help-Command,HelpContext,Help-File和 HelpKey
等,此外,还有两个属性:
Color属性
– 设置对话框的初始颜色,并可返回用户所选择的颜色给应用程序。
该属性是一个长整型数。
Flags属性
– Flags属性用来设置颜色对话框的一些选项。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
【 例 7-4】 为一按钮的 Click事件编写程序,
显示颜色对话框,并把窗体的背景色设置为选择的颜色。
Private Sub Command1_Click()
CommonDialog1.ShowColor
Form1.BackColor = CommonDialog1.Color
End Sub
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
字体( Font)对话框
– 利用对话框控件,可以建立一个字体对话框,
并可在该对话框中设置应用程序所需要的字体。
– 字体对话框主要属性。
FontBold,FontItalic,FontName,FontSize、
FontUnderline,FontStikeThru,Color分别设置选择粗体,斜体,字体名称,字体大、小,设置下划线,删除线效果,选择文字的颜色。
– 如果要使用这些属性,必须先将 Flags属性设为
cdlCFEffects或 256。
Flags的属性,主要取值见表 7.7。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
【 例 7-5】 用字体对话框设置文本框中显示的字体 。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
打印( Printer)对话框
– 打印( Print)对话框可以用于选择打印机,设置打印份数、页码范围等打印选项。
– 打印对话框具有以下主要属性:
Copies属性
– 设置要打印的份数。如果把 Flags的属性值设为 262144,则
Copies属性值总为 1。
Flags属性
– 设置字体对话框的一些选项。
FromPage和 ToPage属性
– 设置打印文档的页码范围,要使用这两个属性,必须把 Flags属性设置为 2。
Max和 Min:用来限制 FromPage和 ToPage的范围。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.2.3 其它对话框
【 例 7-6】 建立打印对话框。
– 在窗体上画一个通用对话框和一个命令按钮,
给命令按钮 Click事件编写如下代码:
Private Sub Command1_Click()
firstp = 1
lastp = 100
CommonDialog1.Flags = 8
CommonDialog1.ShowPrinter
CommonDialog1.Min = firstp
CommonDialog1.Max = lastp
End Sub
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.1 手工制作工具栏
用手工制作的工具栏,实际上是一个放置了一些工具按钮的图片框。通过设置图片框的 Align属性,
可以控制工具栏(图片框)在窗体中的位置,当改变窗体的大小时,Align属性值非 0的图片框会自动地改变大小,以适应窗体的宽度或高度。
图片框上各种工具按钮,如命令按钮、图形方式的选项和复选框、下拉列表控件等,可以通过不同的图像来表示对应的功能,还可以设置按钮的
ToolTipText属性为工具按钮添加工具提示。对于有些按钮如复选框等,需在其上放置两个图像,
分别代表按钮弹起及按下时的外观。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
Toolbar控件和 ImageList控件是 ActiveX控件的一部分,在使用前必须加载,Microsoft Windows
Common Controls 6.0‖,然后才能使用工具箱中新添加的 ImageList控件和 Toolbar控件。
创建 ImageList控件
– ImageList控件的作用像图像的储藏室,ImageList控件不能独立使用,它需要 Toolbar控件(或 ListView,
TabStrip,TreeView控件等)来显示所储存的图像。
– ImageList控件可以包含任意大小的所有图片文件,但是图片的显示大小都相同。通常,加入该控件的第一幅图像决定了随后加入图像的显示大小。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
创建 ImageList控件
– 在设计时,可以在 ImageList属性页中添加图像,按照顺序将需要的图像插入到 ImageList中。
– ImageList控件的 ListImage属性是对象的集合,每个对象可以存放图片文件。
图片文件类型有,bmp,.cur,.ico,.jpg和,gif等,并可通过索引( Index)或关键字( Key)来引用每个对象。
控件具有标准的集合方法,Add,Remove和 Clear。利用这些方法,用户可以在运行时添加、删除图像。一旦 ImageList关联到其他控件,就不能再删除或插入图像了。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
设置工具栏的属性
– 用鼠标双击 Toolbar控件,它将加入窗体并出现在窗体的顶部(也可单击控件后在窗体中画出控件)。通过设置 Toolbar1的 Align属性可以控制工具栏在窗体中的位置。当改变窗体的大小时,Align属性值为非 0的工具栏会自动改变大小以适应窗体的宽度或高度。
– 用鼠标右键单击窗体上的 Toolbar1,在弹出的快捷菜单中选择“属性”,将打开“属性页”
对话框,“通用”选项卡中的“图像列表”属性将被用来与 ImageList控件建立关联。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
设置工具栏的属性
– 在设计时,可以很方便地在工具栏控件中放置其他控件,例如,组合框、文本框或选项按钮控件等,这可按照下面的步骤执行:
创建工具栏控件,设置属性。
在工具栏中为希望显示的其他控件留出空间,然后加入占位符按钮,将其宽度设置为合适的值。
在占位符按钮上绘制其他控件。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.2 Toolbar控件与 ImageList控件
编写 ButtonClick事件代码
– 工具栏控件的常用事件有 ButtonClick事件和
Change事件。当用户单击按钮(占位符和分隔符样式的按钮除外)时,将激发 ButtonClick事件。此时可以用按钮的 Index属性或 Key属性标识被单击的按钮。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.3 创建状态栏
状态栏控件是由面板( Panels)集合构成的,在集合中最多可包含 16个窗格对象,每个对象可以显示图像和文本。
在运行时,可以通过 Text,Picture和 Width等属性动态地改变窗格对象。
– 要在设计时更改窗格对象的属性或添加窗格对象,可以用鼠标右键单击控件,然后选择“属性”来显示
“属性页”对话框。
状态栏控件的事件包括 PanelClick事件和
PanelDblClick事件等。
– 需要获得相应状态栏的单击事件,可以在 PanelClick事件过程中使用 Select Case语句。该事件包含的参数能够指出发生单击的窗格对象。相应的代码可如下:
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.3 创建状态栏
【 例 7-7】 利用工具栏来实现字体变化 。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.4 剪贴板的应用
剪贴板( Clipboard)对象用于操作 Windows的剪贴板上的文本和图形。通过剪贴板,用户能够复制、剪切和粘贴应用程序中的文本和图形。
剪贴板对象没有属性和事件,但具有一些方法,其中最为常用的方法是处理文本的 GetText和 SetText方法。
– GetText用于从剪贴板中返回文本,也可将它作为函数使用。
– SetText将文本复制到剪贴板上,替换先前存储在那里的文本,可将它作为一条语句使用。
– GetText和 SetText方法的格式为:
对象,GetText ( [格式 ])
Clipboard.SetText 字符串数据 [,格式 ]
其中,格式用于指定数据格式,默认为文本格式( vbCFText),还可设置 DDE( Dynamic Data Exchange)对话信息( vbCFLink)、
RTF( Rich Text Format)格式( vbCFRTF)等。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.4 剪贴板的应用
用于选定文本的属性有 SelLength,SelStart,SelText。
– SelLength是所选定文本的字符数;
– SelStart是选定文本的起点,如果没有文本被选中,则指出插入点的位置;
– SelText是所选择的文本,为字符串型,如果没有字符被选中,则为空字符串。
除了处理文本数据,Clipboard对象还用 GetData和
SetData方法处理图形,其语法格式与 GetText和 SetText
相同。
另外,
– 可以用 Clear方法清除剪贴板中的内容,在复制任何信息到剪贴板之前,应使用 Clear方法清除剪贴板中的内容。
– 还可以用 GetFormat方法判断 Clipboard中存放的数据格式。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.5 进度指示器
进度指示器可以用图形的方式来显示任务的进程,它的方框在任务进行过程中逐渐被充满。
– 如果应用程序中有耗时操作时,应该使用进度指示器来给用户提供良好的可视反馈信息。
进度栏控件( ProgressBar)与 Toolbar,
ImageList,StatusBar控件一样,是
Mscomctl.ocx文件中提供的 ActiveX控件之一。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.5 进度指示器
【 例 7-8】 创建一个安装软件进度器,如图所示 。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3 工具栏和状态栏
7.3.1 手工制作工具栏
7.3.2 Toolbar控件与 ImageList控件
7.3.3 创建状态栏
7.3.4 剪贴板的应用
7.3.5 进度指示器
7.3.6 使用带标签的控件
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.6 使用带标签的控件
Visual Basic提供了两个带标签的控件:
TabStrip控件和 SSTab控件。
– 用户可以从部件对话框中将这些带有标签的控件添加到工具箱中,TabStrip控件的说明是
Microsoft Windows Common Controls,
SSTab控件的说明是 Microsoft Tabbed Dialog
Control。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.6 使用带标签的控件
利用如图所示的 SSTab控件,可以在设计时在每个标签上放入控件。当用户选择标签时,每个标签的内容自动显示。
用户必须在每个标签所属的区域内放入控件,而不是把控件放在窗体上的其他地方,然后再将其移到标签区域。如果只是简单地将一个控件移到标签区域,该控件会出现在
SSTab的上部,但它并不与某个标签有关联
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.3.6 使用带标签的控件
SSTab控件选项卡的样式、个数等可通过
“属性页”对话框进行定义。用鼠标右键单击窗体上 Toolbar1,在弹出的快捷菜单中选择“属性”命令,即可打开“属性页”
对话框
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4 多重窗体与多文档界面
7.4.1 多重窗体的操作
7.4.2 多文档界面
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.1 多重窗体的操作
当一个应用程序中需要多个窗体界面时,如输入数据窗体、显示统计结果窗体和某些对话框等,
则需要用到多个窗体,称为多重窗体。
– 添加窗体
添加窗体可以通过“工程”菜单下的“添加窗体”菜单项或工具栏中“添加窗体”按钮将多个窗体逐个添加到工程中,也可以在资源管理器窗口中单击鼠标右键,通过弹出的快捷菜单来完成添加。窗体添加完成后,资源管理器窗口就会显示出新增加的窗体,
– 设置启动窗体
在多重窗体程序中,必须在多个窗体中确定哪个窗体作为第一个出现的窗体 ——启动窗体。如果没有指定,那么系统就把设计时的第一个窗体作为启动窗体。
只有启动窗体才能在运行程序时自动显示出来,其他窗体必须通过 Show方法才能显示。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.1 多重窗体的操作
多重窗体程序的存取
– 前面讲述过 Visual Basic的窗体文件是以,frm为扩展名存盘,工程文件以,vbp作为扩展名存盘。其中,工程文件中保存的是应用程序的设定和窗体文件路径等信息;窗体文件中保存的是该窗体的属性及其中的程序代码。
– 保存文件
保存文件使用“文件”菜单下的“保存工程”菜单项或工具栏中“保存工程”按钮,在弹出的保存对话框中选择存盘的路径和文件名。多个窗体将分成多个窗体文件保存。工程保存后,在保存的位置会生成工程文件(,vbp),多个窗体文件(,frm)和与窗体文件同名的二进制文件(,frx,当窗体设置了 Icon或 Picture等属性才能生成此文件)。
– 除了上述方法保存文件外,还可以使用“文件”菜单下的“文件另存为”菜单项将已经存在的工程更名存盘,或是在集成环境的
“工程资源管理器窗口”中使用右键快捷菜单对选中的工程或窗体进行更名存盘。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.1 多重窗体的操作
多重窗体程序的存取
– 前面讲述过 Visual Basic的窗体文件是以,frm为扩展名存盘,工程文件以,vbp作为扩展名存盘。其中,工程文件中保存的是应用程序的设定和窗体文件路径等信息;窗体文件中保存的是该窗体的属性及其中的程序代码。
– 打开文件
工程保存后,当需要再次打开时可以有两种方法:第一,用鼠标直接双击工程文件(,vbp),将打开 Visual Basic集成开发环境并调入指定工程;第二,首先进入 Visual Basic集成开发环境,使用“文件”
菜单下的“打开工程”菜单项,在弹出的“打开文件”对话框中选择工程文件打开。
注意:在多重窗体程序中,存盘后生成多个窗体文件,虽然 Visual
Basic环境可以将其中的某个窗体打开,但这样做会生成一个新的工程,而且该工程中仅有这一个窗体。因此,打开工程时必须打开其工程文件。
– 生成可执行文件
多重窗体程序生成可执行文件和单一窗体一样,使用“文件”菜单下的“生成工程名,exe‖菜单项。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4 多重窗体与多文档界面
7.4.1 多重窗体的操作
7.4.2 多文档界面
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.2 多文档界面
用户界面样式主要有两种:单文档界面和多文档界面。
– 所谓单文档界面就是通常情况下的文档和应用程序主界面是联系在一起的,记事本应用程序就是一个典型的单文档界面的程序。在记事本应用程序里面一次只能打开一个文档,如果要打开另外一个文档,就必须先关闭当前已打开的文档。
– 多文档界面( Multiple Document Interface)是由一个父窗口及多个子窗口组成的,其最为明显的例子就是
Office套装软件,比如用户可以在 Word应用程序中打开多个文件,并对已打开的文件进行不同的排列,文件之间来回切换以进行数据编辑。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.2 多文档界面
添加 MDI窗体
– 选择“工程”菜单中的“添加 MDI窗体”命令,窗体窗口中就会出现 MDI
画面,其默认名称为 MDIForm1。要在 MDI窗体中添加子窗体,则可通过下面的两个动作完成:
添加一个窗体。
将其 MDIChild属性设置为 True。
– 当然,若将 Form1窗体设为 MDI窗体的子窗体,则只需修改其 MDIChild属性即可。
自动定位窗体
– 最好将定位窗体的代码放在窗体的 Load过程,这样会在窗体实际出现在屏幕上之前将窗体定位。
创建浮动窗口
– 用户创建的窗体可以是浮动的或最顶层的,窗体也可以显示在其他窗体和窗口之前。最顶层模式的窗体无法被其他窗体覆盖,即使不是当前窗口也一直停留在所有窗体的最上层。浮动窗口总是浮动到表面,也就是说它可以被其他窗口覆盖,但马上自动变成当前窗口并显示在屏幕的最顶层。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.4.2 多文档界面
【 例 7-9】 多文档界面的建立。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.5 综合应用
【 例 7-10】 记事本的设计 图 7.34 记事本的设计界面
– 记事本是 Windows中最常用的应用程序之一,其程序小、使用方便,是用户编辑文本的有力工具。试用
Visual Basic编写记事本程序。
– 建立好的用户界面,如图所示。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.5 综合应用
【 例 7-10】 记事本的设计 图 7.34 记事本的设计界面
– 记事本是 Windows中最常用的应用程序之一,其程序小、使用方便,是用户编辑文本的有力工具。试用
Visual Basic编写记事本程序。
– 建立好的用户界面,如图所示。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社第 7章 界面设计
7.1 菜单设计
7.2 对话框设计
7.3 工具栏和状态栏
7.4 多重窗体与多文档界面
7.5 综合应用
7.6 应用程序向导
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.6 应用程序向导
为了提高应用程序开发的效率,Visual
Basic提供了,Visual Basic应用程序向导”
这一非常方便的程序生成器,用来生成一个应用程序的界面。
在 Visual Basic中选择“文件 |新建工程”,
就会打开“新建工程”对话框,打开
,Visual Basic应用程序向导”,然后在该向导的一步一步带领下设计应用程序的界面。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社
7.6 应用程序向导
选择操作界面
– 一般它提供了三种常用的操作界面,如图 7.37,分别是:
,多文档界面”同时打开多个文档,如 Office应用程序。
,单文档界面”只能打开一个文档,如 Notepad文本编辑器。
,资源管理器样式”类似于 Windows资源管理器一样,有 TreeView等控件。
选择菜单和子菜单项
– 应用程序向导提供了文件、编辑、视图、工具、窗口和帮助 6个菜单名,
每个菜单名下有若干个菜单项,用户可自由地选择、取消菜单名或菜单项。由此可见,应用程序向导替用户省去了编辑菜单的时间。
选择工具栏按钮
– 同样应用程序向导提供的工具栏有 13个按钮(除分隔按钮外)。用户也可根据需要增加(右移所选按钮)或删除(左移所选按钮)。
应用程序向导也提供了加入其他窗体的功能,使应用程序更完美;另外,还提供了与数据库的链接等。。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社学完本章你应能够:
了解并掌握菜单设计;
掌握通用对话框的设计;
理解多重窗体和多文档界面;
掌握部分相关 ActiveX控件的使用;
了解应用程序向导的使用。
Vis
ua
l B
as
ic
P
ro
gr
am
mi
ng
中国科学技术出版社思 考 题
1,菜单的主要作用是什么?下拉菜单和弹出菜单有什么区别?
2,菜单访问的热键和快捷键有什么区别?
如何建立它们?
3,怎样在“打开”对话框内过滤多种文件类型?怎样在“另存为”对话框内传送文件名?
4,多窗体程序中怎样制定启动窗体?
5,多重窗体和 MDI窗体结构有何区别?
6,如何建立 MDI应用程序?