第八章 界面设计
全 国 高 等 医 药 院 校 药 学 类 规 划 教 材
计算机程序设计(第二版)
第一节第一节 常用窗体控件常用窗体控件
目 录
第二节第二节 对话框控件
第三节第三节 菜单设计
沈
阳
药
科
大
学
计
算
计
教
研
室
沈
阳
药
科
大
学
计
算
计
教
研
室 第五节第五节 多窗体设计多窗体设计
第四节第四节 工具栏设计
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
常用窗体控件
Visual Basic由两部分组成,分别为界面
设计部分和代码设计部分。用户感觉程序操作
起来是否友好主要取决于界面设计部分。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
Visual Basic中控件的种类
. 标准控件标准控件((内部控件内部控件))
启动启动VBVB后,自动在工具箱中列出的后,自动在工具箱中列出的2020个控件。个控件。
. ActiveXActiveX控件控件
由由VBVB和第三方提供,可重复使用的代码和数据。扩展名为和第三方提供,可重复使用的代码和数据。扩展名为.,通,通
常存放在系统根目录下的常存放在系统根目录下的SYSTEMSYSTEM子目录中。子目录中。
ActiveXActiveX控件在使用之前,需先被加载到工具箱中,方法是:控件在使用之前,需先被加载到工具箱中,方法是:
1)1) 选择选择““工程工程//部件部件””菜单,对话框中包含全部已登记菜单,对话框中包含全部已登记ActiveXActiveX控件。控件。
2)2) 选定所需选定所需ActiveXActiveX控件左边的复选框。控件左边的复选框。
3)3) 单击单击““确定确定””。该控件就添于工具箱中。。该控件就添于工具箱中。
. 可插入对象可插入对象
指指WindowsWindows应用程序对象,例如应用程序对象,例如““Microsoft ExcelMicrosoft Excel工作表工作表””。。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
分组控件分组控件 引例引例
当同一个窗体上存在多组相互独立的单选按钮时,就需要当同一个窗体上存在多组相互独立的单选按钮时,就需要
用到分组控件。一个分组控件内的所有单选按钮为一组,对它用到分组控件。一个分组控件内的所有单选按钮为一组,对它
们的操作不会影响该分组控件以外的单选按钮,其次每个分组们的操作不会影响该分组控件以外的单选按钮,其次每个分组
控件本身就是一个容器,可以在这些分组控件上放置其它控件,控件本身就是一个容器,可以在这些分组控件上放置其它控件,
如单选钮、文本框等,这样:如单选钮、文本框等,这样:
第一:不同分组控件中的对象相互独立。第一:不同分组控件中的对象相互独立。
第二:不仅可以提供视觉上的分组而且还可以实现总体的第二:不仅可以提供视觉上的分组而且还可以实现总体的
显示或隐藏操作。显示或隐藏操作。
常见的分组控件有框架(常见的分组控件有框架(FrameFrame)、选项卡()、选项卡(SSTabSSTab)、)、
图片框(图片框(PictureBoxPictureBox)等。)等。
%E4%B8%80%E7%BB%84%E5%8D%95%E9%80%89%E9%92%
%E4%B8%80%E7%BB%84%E5%8D%95%E9%80%89%E9%92%
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
框架框架(Frame)(Frame)(重点)(重点)
1. 1. 向框架中添加对象的方法向框架中添加对象的方法
11)向框架中添加新对象)向框架中添加新对象
22)将现有对象移动到框架中(剪切、粘贴))将现有对象移动到框架中(剪切、粘贴)
2. 2. 重要属性重要属性
11))CaptionCaption(一般用来说明该组控件的作用或者类(一般用来说明该组控件的作用或者类
别)别)
2 2))EnabledEnabled(当为(当为flaseflase时,不允许用户对其中的控时,不允许用户对其中的控
件进行操作)件进行操作)
3 3))VisibleVisible(设置该框架以及框架内的所有对象是否(设置该框架以及框架内的所有对象是否
隐藏)隐藏)
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
3. 3. 事件事件
框架可以响应框架可以响应ClickClick和和DbClickDbClick事件。但事件。但几乎没有应用。几乎没有应用。
4. 4. 应用应用实例实例
通过选择药品和病症,在文本框中显示正确的信息。通过选择药品和病症,在文本框中显示正确的信息。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
SSTab( SSTab(选项卡选项卡))
SSTab SSTab不是标准控件,使用前需通过不是标准控件,使用前需通过““工程工程//部件部件” ” 将将
“Microsoft Tabbed Dialogue ”“Microsoft Tabbed Dialogue ”添加添加至工具箱。至工具箱。
1. 1. 重要属性重要属性
11))TabsTabs
设置选项卡的个数,上图中为六。设置选项卡的个数,上图中为六。
2 2))TabsPerRowTabsPerRow
设置每行可以显示的选项卡个数,下图中为二。设置每行可以显示的选项卡个数,下图中为二。
3 3))TabTab
TabTab为选项卡的编号,从为选项卡的编号,从00开始。该属性可以开始。该属性可以
返回目前处于激活状态的选项卡编号,也可以通过返回目前处于激活状态的选项卡编号,也可以通过
修改该属性的值来决定哪个选项卡被激活。修改该属性的值来决定哪个选项卡被激活。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
2. 2. 事件事件
SSTabSSTab可以响应可以响应ClickClick和和DbClickDbClick事件。但事件。但很少用。语法格式为:很少用。语法格式为:
Private Sub SSTabPrivate Sub SSTab控件名控件名_Click(PreviousTab As Integer)_Click(PreviousTab As Integer)
语句块语句块
End Sub End Sub
其中:其中:PreviousTabPreviousTab参数为本次单击前处于激活状态的选项卡编号参数为本次单击前处于激活状态的选项卡编号
3. 3. 应用实例应用实例
设计如图所示的实验动物出库管理软件,要求在设计如图所示的实验动物出库管理软件,要求在
离开离开““鼠鼠””、、““兔兔””、、““狗狗””选项卡(选项卡(TabTab编号分别为编号分别为00、、
11、、22)进入任意其它选项卡时,即时计算合计金额。)进入任意其它选项卡时,即时计算合计金额。
完毕单击完毕单击““退出退出””结束程序。结束程序。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
列表选择控件列表选择控件(重点)(重点)
列表选择控件的功能是为用户提供一系列的候选项供用户列表选择控件的功能是为用户提供一系列的候选项供用户
选择。最常用的是列表框和组合框。选择。最常用的是列表框和组合框。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
列表框列表框(ListBox)(ListBox)
ListBox ListBox通过提供多个候选项供用户选择,达到与用户通过提供多个候选项供用户选择,达到与用户
交互的目的。用户只能从给定的候选项中选择,不能添加和交互的目的。用户只能从给定的候选项中选择,不能添加和
修改候选项。修改候选项。
.重要属性重要属性
11))TextText
当前被选定条目的内容,只能在运行模式下设置当前被选定条目的内容,只能在运行模式下设置
或引用。或引用。图中图中的值为的值为““兔子兔子””。通过该属性可。通过该属性可
以获得用户的选择结果。以获得用户的选择结果。
22))ListIndexListIndex
程序运行时被选定条目的序号程序运行时被选定条目的序号((从零开始从零开始)) ,只能在,只能在
运行模式下设置或引用。若没选中任何条目,运行模式下设置或引用。若没选中任何条目,ListIndexListIndex
值为值为-1-1。。图中图中ListIndexListIndex的值为的值为33。通过该属性可以知用户。通过该属性可以知用户
选择的是第几项。选择的是第几项。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
3 3))ListList
设置列表框中各个条目的内容。设置列表框中各个条目的内容。既可在设计模式下设置,也可在运既可在设计模式下设置,也可在运
行模式下设置或引用。行模式下设置或引用。
ListList属性属性为为字符型数组,下标从字符型数组,下标从00开始。图中第一项开始。图中第一项(0)(0)的的
值为值为““小鼠小鼠” ” 。。
通过该属性可以在运行模式下修改某个条目的内容。通过该属性可以在运行模式下修改某个条目的内容。
注意:注意: 和和() () 两两种写法种写法等价等价。。
4 4))ListCountListCount
列表框中项目的数量,只能在运行模式下引用。列表框中项目的数量,只能在运行模式下引用。
图中图中的值为的值为88。。
最后一个条目的编号为最后一个条目的编号为ListCount-1ListCount-1
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
5 5))SortedSorted
设置程序运行时列表框内的条目是否按照字符顺序升序排列显示,设置程序运行时列表框内的条目是否按照字符顺序升序排列显示,
只能在设计模式下设置。有两种取值情况只能在设计模式下设置。有两种取值情况TrueTrue(升序排列显示)和(升序排列显示)和
FalseFalse(按照添加的顺序显示)。(按照添加的顺序显示)。
6 6))MultiSelectMultiSelect
设置在一个列表框中能否同时选择多个条目。有三种取值情况:设置在一个列表框中能否同时选择多个条目。有三种取值情况:
0—None 0—None 禁止多选(缺省)。禁止多选(缺省)。
1—Simple 1—Simple 简单多选。简单多选。
2—Extended 2—Extended 扩展多选。扩展多选。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
7 7))SelectedSelected
前面讲的前面讲的和和()()都只能适用于列都只能适用于列
表框不允许多选的情况,表框不允许多选的情况,当同时选中多个条目时就需要使用当同时选中多个条目时就需要使用SelectedSelected属属
性来获得用户的选择结果。该属性只能在运行模式下引用。性来获得用户的选择结果。该属性只能在运行模式下引用。
该属性是布尔型数组,每个元素值表示对应条目目前是否被选中。该属性是布尔型数组,每个元素值表示对应条目目前是否被选中。
图图8-68-6中中““兔子兔子””、、““豚鼠豚鼠””被选定,则被选定,则(3)(3)为为TrueTrue,,
(4)(4)为为TrueTrue,其余的都是,其余的都是FalseFalse。。
88))SelCountSelCount
当当MultiSelectMultiSelect属性为属性为1(Simple)1(Simple)或或2(Extended)2(Extended)时,用于返回列表框时,用于返回列表框
中目前被选中条目的个数。中目前被选中条目的个数。
9 9)) StyleStyle
((设计模式下设计模式下))设置列表框的风格。有两种取值情况:设置列表框的风格。有两种取值情况:
0—Standard 0—Standard,标准型,,标准型,((缺省缺省))
1—CheckBox 1—CheckBox,复选框形式,如图所示。,复选框形式,如图所示。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
2. 2. 常用方法常用方法
1 1))AddItemAddItem
用于向列表框中添加新的条目。用于向列表框中添加新的条目。语法格式为:语法格式为:
对象对象.AddItem Item [,Index].AddItem Item [,Index]
ItemItem:必须是字符串表达式,是新增条目的具体内容。:必须是字符串表达式,是新增条目的具体内容。
IndexIndex:新增条目的位置,省略:新增条目的位置,省略时时添到最后。添到最后。IndexIndex==00为第一项。为第一项。
2 2))RemoveItemRemoveItem
用于从列表框中删除条目。用于从列表框中删除条目。语法格式为:语法格式为:
对象对象.RemoveItem Index
Index Index:被删除条目的编号。对于顶端的第一个条目,:被删除条目的编号。对于顶端的第一个条目,IndexIndex为为00
3 3)) ClearClear
ClearClear方法用于清除列表框中的所有条目。方法用于清除列表框中的所有条目。语法格式为:语法格式为:
对象对象.
RemoveItem RemoveItem与与ClearClear区别:区别: RemoveItemRemoveItem只能删除某一个条目,而只能删除某一个条目,而
Clear Clear是删除所有的条目。是删除所有的条目。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
3. 3. 事件事件
列表框能够响应列表框能够响应ClickClick和和DblClickDblClick事件,但很少用。一般事件,但很少用。一般用户通过列表用户通过列表
框和组合框选择,完毕单击某按钮时才根据选择结果执行相应操作。框和组合框选择,完毕单击某按钮时才根据选择结果执行相应操作。
4. 4. 应用应用实例实例
设计如图所示的程序。设计如图所示的程序。右侧列表框中的条目按照字符顺序升序排列,右侧列表框中的条目按照字符顺序升序排列,
左侧列表框中的条目按照添加的先后顺序排列。左侧列表框中的条目按照添加的先后顺序排列。当双击某个条目时,该当双击某个条目时,该
条目从本列表框中被删除同时添加到另一个列表框中。条目从本列表框中被删除同时添加到另一个列表框中。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
组合框组合框(ComboBox(ComboBox ))
ComboBox( ComboBox(组合框组合框))是是VBVB的标准控件,的标准控件,它是文本框和它是文本框和
列表框的组合。列表框的组合。
.重要属性重要属性
1 1)组合框也具有)组合框也具有TextText、、ListIndexListIndex、、ListList、、ListCountListCount、、SortedSorted等属性,等属性,
含义同含义同ListList控件。但没有控件。但没有MultiSelectMultiSelect、、SelectedSelected、、SelcountSelcount属性。属性。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
2 2))Style(Style(风格,列表框没有风格,列表框没有))
该属性用于设置组合框的格式,有该属性用于设置组合框的格式,有33种取值情况:种取值情况:
0-Dropdown0-Dropdown下拉式组合框下拉式组合框
1-Simple Combo1-Simple Combo简单组合框简单组合框
2-Dropdown List2-Dropdown List下拉式列表框下拉式列表框
这三种组合框的区别为:这三种组合框的区别为:
①①下拉式组合框和下拉式列表框运行时只显示文本框,如左图所示下拉式组合框和下拉式列表框运行时只显示文本框,如左图所示。。
而简单组合框同时显示文本框和列表框,大小固定而简单组合框同时显示文本框和列表框,大小固定,如中间所示,如中间所示。。
②②下拉式组合框和简单组合框允许用户在文本框中输入新的内容,下拉式组合框和简单组合框允许用户在文本框中输入新的内容,
而下拉式列表框不允许。而下拉式列表框不允许。
③③三种组合框都可以响应三种组合框都可以响应ClickClick事件,只有简单组合框可以响应事件,只有简单组合框可以响应
DblClickDblClick事件。事件。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
2. 2. 应用应用实例实例
编写一个程序实现以下功能:必须从给定的实验类型中选择一个实验编写一个程序实现以下功能:必须从给定的实验类型中选择一个实验
种类,从给定实验动物列表中选择可用的动物类型(可以多选),当单种类,从给定实验动物列表中选择可用的动物类型(可以多选),当单
击击““读取读取””按钮时将用户的选择结果输出到窗体上,如图所示。按钮时将用户的选择结果输出到窗体上,如图所示。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
设计一个如下图所示的应用程序。它包含两个
列表框和一个文本框,当文本框中的信息输
入完成以回车结束后,其信息以降序排列在
左边的列表框中,当双击某个项目时,该项
目从左边的列表框中删除,添加到右边列表
框中,并以字母顺序升序排列。
练
习
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
滚动条滚动条(ScrollBar)(ScrollBar)
滚动条分为水平滚动条和垂直滚动条两种,它们都是滚动条分为水平滚动条和垂直滚动条两种,它们都是VBVB的的
标准控件。标准控件。除了方向不同外,水平滚动条和垂直滚动条的结构除了方向不同外,水平滚动条和垂直滚动条的结构
和操作是一样的。两端各有一个箭头,中间有一个滑块。如图和操作是一样的。两端各有一个箭头,中间有一个滑块。如图
所示。所示。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
.重要属性重要属性
1 1)) MaxMax
设置当滑块移至水平滚动条最右端,或垂直滚动条最下端时滚动条设置当滑块移至水平滚动条最右端,或垂直滚动条最下端时滚动条
所能表示的极值所能表示的极值 ((范围为范围为-32768~32767)-32768~32767) 。。
22))MinMin
设置当滑块移至水平滚动条最左端,或垂直滚动条的最上端时滚动设置当滑块移至水平滚动条最左端,或垂直滚动条的最上端时滚动
条所能表示的极值条所能表示的极值 ((范围为范围为-32768~32767) -32768~32767) 。。
说明:说明:MaxMax既可以大于既可以大于MinMin,也可以小于,也可以小于MinMin。。
3 3))ValueValue
设置和返回滑块在滚动条上的位置。设置和返回滑块在滚动条上的位置。
注意:注意:不能将不能将ValueValue的值设置在的值设置在MaxMax和和MinMin范围之外的值。范围之外的值。
4 4))LargeChangeLargeChange
设置单击滚动条上滑块与箭头间位置时,设置单击滚动条上滑块与箭头间位置时,ValueValue增加或减小的值。增加或减小的值。
5 5))SmallChangeSmallChange
设置单击滚动条两端的箭头时,设置单击滚动条两端的箭头时,ValueValue增加或减小的值。增加或减小的值。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
2. 2. 事件事件 例子例子
11))ScrollScroll
只有当拖动滚动条上的滑块时,才会触发只有当拖动滚动条上的滑块时,才会触发ScrollScroll事件。事件。
2 2))ChangeChange
无论什么原因只要改变滚动条的无论什么原因只要改变滚动条的ValueValue值就会触发值就会触发ChangeChange事件。事件。
注意:注意:一般为滚动条编写代码时,这两个事件都要编写。一般为滚动条编写代码时,这两个事件都要编写。
3. 3. 应用实例应用实例
设计如图所示的程序,实现利用滚动条来改变文本框内文字的大小。设计如图所示的程序,实现利用滚动条来改变文本框内文字的大小。
要求水平滚动条的属性设置如下:要求水平滚动条的属性设置如下:MaxMax为为6060,,MinMin为为1010,,SmallChangeSmallChange
为为11,,LargeChangeLargeChange为为55
%E6%BB%9A%E5%8A%A8%E6%9D%A1%E4%BA%8B%E4%BB%
%E6%BB%9A%E5%8A%A8%E6%9D%A1%E4%BA%8B%E4%BB%
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
在Form1窗体上建立一个垂直滚动条,其表示的最大值
为8000,最小值为0,另外需要建立三个标签和一个文
本框。请编写适当的事件过程,在运行时,如果改变滚
动条中滚动框的位置,则在文本框中显示一个高度。当
滚动框位于滚动条的顶端时,文本框中显示8000米;
当位于底端时显示0米,其他位置时,显示其相对于底
端的值(如图所示),程序中不可以使用任何变量。
练
习
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第一节 常用窗体控件
时间日期控件时间日期控件
Visual BasicVisual Basic提供了几种时间日期控件,用来进行秒表计提供了几种时间日期控件,用来进行秒表计
时、日期选择等功能。常见的有时、日期选择等功能。常见的有TimerTimer控件、控件、DateTimePickerDateTimePicker
控件等。控件等。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
TimerTimer控件是控件是VBVB提供的标准控件,提供的标准控件,它可以实现指定代它可以实现指定代
码的周期性自动运行。码的周期性自动运行。该控件在运行时不可见。该控件在运行时不可见。
属性
Interval属性
单位:ms(),秒是500。
Interval=0:屏蔽计时器。
Enabled属性
True:有效计时
False:停止时钟工作
事件
Timer
例 倒计时
时钟(Timer)
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
设计一个小球随机碰壁反弹的程序,要求运用
Timer控件,并符合物理原理。如下图所示。练
习
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第二节 对话框设计
对话框设计
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第二节 对话框设计
Visual Basic中对话框的种类
. 预定义对话框预定义对话框
VBVB系统提供的格式固定的对话框,例如系统提供的格式固定的对话框,例如InputBoxInputBox输入框、输入框、MsgBoxMsgBox消消
息框等。息框等。
. 通用对话框通用对话框
VBVB提供的集打开、另存为、颜色、字体、打印机、帮助于一体的提供的集打开、另存为、颜色、字体、打印机、帮助于一体的
WindowsWindows应用程序标准格式对话框。应用程序标准格式对话框。
. 自定义对话框自定义对话框
自定义对话框是自定义对话框是VBVB的一个窗体,用户可以按照自己的意愿来设计其格的一个窗体,用户可以按照自己的意愿来设计其格
式和功能。式和功能。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第二节 对话框设计
通用对话框通用对话框
通用对话框集打开、另存为、颜色、字体、打印机、帮助六种通用对话框集打开、另存为、颜色、字体、打印机、帮助六种
基于基于WindowsWindows标准对话框于一体。标准对话框于一体。
CommonDialogCommonDialog控件不是标准控件,使用前需要通过控件不是标准控件,使用前需要通过““工程工程//部部
件件””菜单将菜单将““Microsoft Common Dialog ”Microsoft Common Dialog ”添加到工具添加到工具
箱中。箱中。
和和TimerTimer控件一样,该控件运行时不可见。控件一样,该控件运行时不可见。
引例 通过通用对话框找到一个文件 例子
%E7%AE%80%E5%8C%96%E7%89%88%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91%E5%99%
%E5%A4%8D%E6%9D%82%E7%89%88%E6%96%87%E6%9C%AC%E7%BC%96%E8%BE%91%E5%99%
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
通用对话框(CommonDialogX)
将通用对话框添加到工具箱的方法:
右击“工具箱”->“部件”->“控件”选项卡->选中“Microsoft Common
Dialog Control ”复选框。
通用对话框的作用:
实现人机交户的另一途径。
一般情况下,启动Visual
Basic后,工具箱中是没有
通用对话框控件的,要后
添加进去。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
通用对话框(CommonDialogX)
通用对话框显示的方法:
利用Action属性值
= 1或2或3或4或5或6
利用方法
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
通用对话框—文件对话框
初始化目录
(InitDir)
文件名
文件类型(扩展名)(Filter)
对话框标题
(DialogTitle
)
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
通用对话框—文件对话框
文件对话框的重要属性:
(1)InitDir
(2)Filter
(3)FilterIndex
(4)FileName
(5)FileTitle
当文件对话框被打开始时,
初始目录的设定。当文件对话框被打开始时,
文件列表框中显示文件的
种类。
当文件对话框被打开始时,
文件类型组合框中默认值
的设定。
用户在通用对话框选取的
文件的不包括路径的文件
名 ,如“ ”。
用户在通用对话框中选取
的文件的全路径。
“C:\WINNT\System32\”
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
属性赋值示例:
=“E:\”
=“文本文件|*.txt|所有文件|*.*”
=0
i = Shell(“ “+,1)
= True(按“取消”时报错)
= 32755
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
例 用命令按钮的Click事件显示文件打开对话框
=“C:\Windows” ' 设置初始目录
= "文本文件 | *.Txt" ' 过滤文件类型
= True ' 控制取消按钮
CommonDialog1. ShowOpen ‘ 打开对话框
=
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第二节 对话框设计
3. 3. ““另存为另存为(Save as)”(Save as)”对话框对话框 例子例子
““另存为另存为””对话框和对话框和““打开打开””对话框相似,提供了可以遍历每个驱动器、对话框相似,提供了可以遍历每个驱动器、
文件夹和文件的功能,用户可以在文件夹和文件的功能,用户可以在““文件名文件名””处输入新的文件名,如图所示,处输入新的文件名,如图所示,
并可以返回用户的操作结果。用法并可以返回用户的操作结果。用法同同““打开打开””对话框。对话框。
%E5%8F%A6%E5%AD%98%E5%AF%B9%E8%AF%9D%E6%A1%
%E5%8F%A6%E5%AD%98%E5%AF%B9%E8%AF%9D%E6%A1%
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第二节 对话框设计
4. 4. ““颜色颜色””对话框对话框 例子例子
““颜色颜色””对话框提供了让用户通过鼠标点击就可以选择相应颜色的功能,对话框提供了让用户通过鼠标点击就可以选择相应颜色的功能,
如图所示,并返回用户的选择结果。如图所示,并返回用户的选择结果。
ColorColor属性属性是是““颜色颜色””对话框的一个重要属性,通过该属性可以设置和返对话框的一个重要属性,通过该属性可以设置和返
回对话框中选定的颜色。回对话框中选定的颜色。
%E9%A2%9C%E8%89%B2%E5%AF%B9%E8%AF%9D%E6%A1%
%E9%A2%9C%E8%89%B2%E5%AF%B9%E8%AF%9D%E6%A1%
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
5. “字体”对话框
注意:Flags属性:指示所显示的字体类型,必须设置。
cdlCFScreenFonts &H1 屏幕字体
cdlCFPrinterFonts &H2 打印机字体
cdlCFBoth &H3 打印机字体和屏幕字体。
cdlCFEffects &H100 显示删除线和下划线检查框以及颜色组合框
FontName FontBold、FontItalicFontSize
FontStrikethru
FontUnderline
Color
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
注意:Flags属性:指示所显示的字体类型,必须设置。
cdlCFScreenFonts &H1 屏幕字体
cdlCFPrinterFonts &H2 打印机字体
cdlCFBoth &H3 打印机字体和屏幕字体。
cdlCFEffects &H100 显示删除线和下划线检查框以及颜色组合框(不能单独使用)
说明:默认情况下,打开“字体”对话框时除FontName外所有属
性都有初始值。为了避免赋给字体一个空的字体名,建议在打开“
字体”对话框前,为FontName属性设置一个初始值。例如:
= cdlCFBoth or cdlCFEffects
= "宋体"
例字体对话框的使用
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第二节 对话框设计
6. 6. ““打印打印””对话框对话框
通过通过““打印打印””对话框,用户可以选择打印机、打印范围和份数。对话框,用户可以选择打印机、打印范围和份数。
重要属性有:重要属性有:
11))MaxMax属性、属性、MinMin属性属性
在在““打印打印””对话框打开之前设置,用于限定用户可以指定的页面范围,对话框打开之前设置,用于限定用户可以指定的页面范围,
一般一般Min=1Min=1、、Max=Max=文章总页数。文章总页数。
22))FromPageFromPage属性、属性、ToPageToPage属性属性
设置和返回打印的起始页码和终止页码。设置和返回打印的起始页码和终止页码。
33))CopiesCopies属性属性
返回用户指定的打印份数。返回用户指定的打印份数。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第二节 对话框设计
7. 7. 通用对话框应用实例通用对话框应用实例
设计如图所示的应用程序。单击设计如图所示的应用程序。单击““打开打开””可以通过可以通过““打开打开””文件对话文件对话
框选择一个文本文件,并将文件内容显示在文本框框选择一个文本文件,并将文件内容显示在文本框Text1Text1中。单击中。单击““背景色背景色
””可以通过可以通过““颜色颜色””对话框选择一个颜色,并将该颜色应用于文本框背景。对话框选择一个颜色,并将该颜色应用于文本框背景。
单击单击““字体字体””可以通过可以通过““字体字体””对话框设置字体格式,并将结果应用于文对话框设置字体格式,并将结果应用于文
本框中。单击本框中。单击““打印打印””可以通过可以通过““打印打印””对话框指定打印机和打印份数,对话框指定打印机和打印份数,
并将文本框内容通过打印机输出。单击并将文本框内容通过打印机输出。单击““保存保存””可以通过可以通过““另存为另存为””对话对话
框将修改后的文本框内容保存到文件框将修改后的文本框内容保存到文件““d:\”d:\”中。中。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第三节 菜单设计
菜单设计
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第三节 菜单设计
下拉式菜单系统的组成结构 :
菜单按照外观和位置可以分为下拉式菜单和弹出
式菜单两种。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
常用属性:
1. 标题(Caption) 热键:前面加&
2. 名称(Name)文本框 分隔符也应有名称。
3. 快捷键(Shortcut) 菜单名没有快捷键
4. 复选(Checked)检查框 TRUE 有
5. 有效(Enabled)检查框、可见(Visible)检
查框
菜单列
表框
菜单项属性
操作按钮
第三节 菜单设计
下拉菜单设计
下拉菜单位于窗体的顶部,每个菜单项包括分割线在内其实就是一个
和命令按钮类似的控件,拥有自己的名称(Name)、标题(Caption)等
属性,支持相应的事件和方法。通过菜单编辑器来设计菜单。
1) 执行“工具”菜单里的“菜单编辑器”命令
2) 在对象窗口空白处右击,弹出的快捷菜单中选择“菜单编辑器”命令
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
应用实例:建立一个有菜单功能
的文本编辑器。要求有三级菜单、热
键、快捷键、并能够进行对齐格式的
变化
第三节 菜单设计
注意:
(1)各个菜单项的名称必须唯一。
(2)分割线的标题属性应设置为英文减号。
(3)主菜单中热键的调用方法是Alt+热键字符,下拉菜单中的热键调
用时不需要Alt键。快捷键无需通过主菜单打开下拉菜单,就可以直接
调用某个下拉菜单项。
说明:菜单项只支持Click事件;不能对有子菜单的菜单项编程。
%E4%B8%8B%E6%8B%89%E8%8F%9C%E5%8D%
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
弹出式菜单(快捷菜单)设计
设计与普通菜单相同(如果不希望菜单出现在窗口的顶部,可将
该菜单Visible属性设为False)。通过PopupMenu方法可以将主菜单
项(例如MenuEdit)的子菜单以弹出的形式显示出来,但是主菜单项
本身不显示。
[对象.]PopupMenu 菜单名, 标志, x, y
标志,表示弹出的位置和触发的键(见教材P222 表8-6) 例题
Sub picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then PopupMenu EditMenu, vbPopupMenuCenterAlign
End Sub
第三节 菜单设计
下拉式菜单和弹出式菜单都是在菜单编辑器中设计的,区别在于
下拉式菜单位于窗口顶部、内容固定,而弹出式菜单出现在鼠标右击
的位置、内容可以根据用户意图的不同(例如在表格中右击、在段落
上右击、在图片上右击等)而变化,因此弹出式菜单又称为“智能菜
单”。
%E5%BF%AB%E6%8D%B7%E8%8F%9C%E5%8D%
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第五节 多窗体操作
多窗体操作
前面介绍的VB工程都只包含一个窗体,实际应用程
序中一般都由多个窗体构成(身份验证窗体、数据输入窗
体、结果显示窗体等),这就用到了多窗体的操作。例子
%E5%A4%9A%E7%AA%97%E4%BD%93/%E5%B7%A5%E7%A8%
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第五节 多窗体操作
1.多窗体的添加
“工程|添加窗体”
新建
现存
添加“现存”窗体时要注意: 添加的窗体实际是将其它工程中已有的
窗体加入,多个工程共享窗体,在一个工程中的修改将影响另一个窗体。
2. 多窗体的保存
一个工程中有多个窗体,应分别取不同文件名保存在磁盘上,
VBP工程文件中记录了该工程的所有窗体文件名。 因此在打开一个
程序的时候应打开工程文件。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
3. 设置启动窗体
有多个窗体时,工程运行时首先加载的窗体叫做启动窗体,默认
情况下为第一个添加的窗体。如果想从其它窗体启动, “工程/属性
” “启动对象”。
第五节 多窗体操作
说明:VB工程可以从某个窗体启动,也可以从标准模块中名称为Sub Main
( )的过程启动。当在窗体启动前需要预加载某些内容或者需要用户做出某
些决策时就可以通过Sub Main( )过程启动。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
4. 窗体的操作
窗体语句
(1)Load语句:装入窗体到内存但没有显示窗体。
虽然并不显示,但是加载完毕后窗体中的控件和各种属性可以被引用
形式: Load 窗体名称
(2)Unload语句:从内存删除窗体
如果该窗体还没有被隐藏,就先自动执行Hide操作
形式: Unload 窗体名称
窗体方法
(1)Show方法:显示一个窗体(当窗体没有Load,自动Load)
[窗体名称].Show [模式]
0 - vbModeless ,可以随时对其它窗体进行操作。
1 - vbModal ,关闭后才能对其它窗体进行操作。
(2) Hide方法:隐藏窗体,并不从内存中删除
[窗体名称.] Hide
第五节 多窗体操作
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第五节 多窗体操作
5.不同窗体间数据的存取
通过控件的属性值获取
例如,将窗体Form1中文本框Text1的内容赋值给当前窗体(Form2)中的变
量s,代码为:s = 。
其中,被引用窗体的名称(本例中的Form1)是必需的。
通过在窗体代码内声明的公共变量获取
例如,将窗体Form1中声明的公共变量a的值赋给当前窗体(Form2)中的变
量b,代码为:b=。
其中,被引用窗体的名称(本例中的Form1)是必需的。
通过模块中的公共变量获取
例如,将窗体Form1中文本框Text1的内容赋值给当前窗体(Form2)中的变
量s。可以在模块(例如Module1)内定义一个公共变量a,当离开Form1时
将Text1的内容赋给公共变量a,在当前窗体中通过访问公共变量a来获得文
本框中的内容。
计算机程序设计(第二版)——沈阳药科大学计算机程序设计(第二版)——沈阳药科大学
第五节 多窗体操作
应用实例
End of the chapter
沈阳药科大学计算机教研室沈阳药科大学计算机教研室