《VisualBasic界面设计.ppt》由会员分享,可在线阅读,更多相关《VisualBasic界面设计.ppt(50页珍藏版)》请在三一办公上搜索。
1、2023/11/8,1,第8章 界面设计,本章内容:对话框 菜单 多重窗体 ActiveX控件,2023/11/8,Visual Basic程序设计简明教程,2,8.1 对话框,对话框是实现Windows应用程序和用户之间进行交互的常用工具,它既可以向用户显示信息,也可以供用户输入应用程序所需要的数据。VB提供了通用对话框,帮助用户完成一些常见操作。除此之外,用户也可以根据需要自定义对话框。,2023/11/8,Visual Basic程序设计简明教程,3,8.1 对话框通用对话框,通用对话框(CommonDialog)控件提供了一组标准的系统对话框,便于用户完成打开文件、选择颜色、选择字体以
2、及打印等操作。CommonDialog控件并不是VB的标准控件,而是ActiveX控件,使用时需要添加到工具箱中。在“工程”菜单中选择“部件”命令,然后在“部件”对话框的“控件”选项卡中,选择“Microsoft Common Dialog Control 6.0”,即可添加通用对话框控件。,2023/11/8,Visual Basic程序设计简明教程,4,对CommonDialog控件的属性设置既可以在属性窗口中进行,也可以借助于“属性页”对话框。用鼠标右键单击在窗体上的CommonDialog控件,然后在弹出的菜单中选择“属性”命令,即可打开“属性页”对话框。,2023/11/8,Visu
3、al Basic程序设计简明教程,5,通用对话框的常用属性,2023/11/8,Visual Basic程序设计简明教程,6,说明:,(1)程序第一个通用对话框控件的默认对象名是CommonDialog1,依次类推。(2)Action是通用对话框控件最重要的属性之一,其属性值有6个。,2023/11/8,Visual Basic程序设计简明教程,7,Action属性值,2023/11/8,Visual Basic程序设计简明教程,8,例如使CommonDialog1对象显示“颜色”对话框,可以写为:CommonDialog1.Action=3在“打开”对话框或者“另存为”对话框中,通过File
4、Name属性可以得到用户所选择的文件名。Filter属性也称为过滤器,它使得在通用对话框中只显示指定类型的文件,其属性值的格式为:文件描述|文件类型 例如在CommonDialog1对象显示的通用对话框中,显示文本文件、Word文件或者所有文件,可以写为:CommonDialog1.Filter=Text|*.text|Word|*.Doc|所有文件|*.*在“颜色”对话框中,通过Color属性可以得到用户所选择的颜色。在显示“字体”对话框之前,需要先设置Flags属性值,以确定对话框显示的字体类型。,2023/11/8,Visual Basic程序设计简明教程,9,2023/11/8,Vis
5、ual Basic程序设计简明教程,10,显示通用对话框的方法,2023/11/8,Visual Basic程序设计简明教程,11,8.1 对话框自定义对话框,对话框具有窗体的大部分特性和功能,它实际上是窗体的一种特殊状态。对话框与普通的窗体相比,通常没有控制菜单按钮、最大化按钮和最小化按钮,也不能改变其尺寸。用户可以通过对窗体进行改造,定制符合自身需要的对话框。,2023/11/8,Visual Basic程序设计简明教程,12,对话框窗体属性设置,返回,2023/11/8,Visual Basic程序设计简明教程,13,菜单在Windows应用程序中经常出现,是用户界面中一个重要的元素。使
6、用菜单可以对程序的功能进行分类,并形成一些命令组,供用户直观、方便地访问。应用程序的菜单一般分为两种类型,一种是下拉式菜单,另一种是弹出式菜单。,8.2 菜单,2023/11/8,Visual Basic程序设计简明教程,14,8.2 菜单下拉式菜单,下拉式菜单一般位于窗体的顶部,平时只显示菜单栏中的菜单标题。当用户选中菜单标题之后,才会以下拉列表的形式显示其包含的菜单项。菜单项是菜单的主体,选中其中一个菜单项,就会执行一个命令,完成相应的功能。菜单项也可以成为子菜单,即自身又包含了一组菜单项。,2023/11/8,Visual Basic程序设计简明教程,15,菜单编辑器,选择“工具”菜单的
7、“菜单编辑器”菜单项,或者在窗体窗口中按下组合键Ctrl+E,都可以打开菜单编辑器。,2023/11/8,Visual Basic程序设计简明教程,16,说明:,菜单编辑器的上部用来设置菜单项的标题、名称等属性,选定菜单项的快捷键,以及安排协调位置等等。菜单编辑器的中部有7个命令按钮,其中“”和“”按钮用来调整当前菜单项在菜单中的位置,“”和“”按钮则用来调整当前菜单项在菜单中的层次。如果单击“”按钮,就会使当前菜单项向右缩进4格,表示其为子菜单的菜单项。“下一个”按钮用于移到下一个菜单项,“插入”按钮用于在当前菜单项之前插入一个菜单项,“删除”按钮用于删除当前菜单项。菜单编辑器的下部是一个列
8、表框,用来显示当前窗体的所有菜单和菜单项。,2023/11/8,Visual Basic程序设计简明教程,17,菜单项的常用属性,2023/11/8,Visual Basic程序设计简明教程,18,说明:,(1)系统并没有给出菜单项控件的默认对象名,习惯上用前缀mnu来命名。(2)设置Caption属性时,如果标题为“-”,就会在菜单中建立一条分隔线。在标题的某个字母前插入一个连接符(&),即可为菜单项设置访问键。打开下拉式菜单之后,当用户按下访问键时,便可执行该菜单项的功能。(3)菜单标题又称为顶级菜单,当其Enabled或者Visible的属性值是False时,不仅菜单标题将会失效或者不可
9、见,而且它所包含的所有菜单项也都将会失效或者不可见。,2023/11/8,Visual Basic程序设计简明教程,19,创建一个菜单的步骤:,(1)打开菜单编辑器,先创建菜单标题。在标题栏和名称栏分别输入标题信息和对象名,并做其它必要的属性设置。(2)单击“下一个”按钮,建立菜单项。设置菜单项的属性之后,单击“”按钮,使它成为菜单标题的菜单项,以后创建的菜单项将自动成为该菜单标题所包含的菜单项。(3)不断地单击“下一个”按钮,为该菜单标题创建全部的菜单项。如果在创建某个菜单项时再次单击“”按钮,将会使上一个菜单项成为子菜单,而当前菜单项则成为子菜单的菜单项。重复上述步骤,并适当调整菜单项在菜
10、单中的层次和位置,就可以创建窗体中所有的菜单。,2023/11/8,Visual Basic程序设计简明教程,20,例8.1 设计一个菜单,一个菜单的菜单标题是“文件”,其中有“打开”和“另存为”两个菜单项;另一个菜单的菜单标题是“系统”,其中有“颜色”和“退出”两个菜单项。,2023/11/8,Visual Basic程序设计简明教程,21,说明:,Private Sub mnuOpen_Click()CommonDialog1.Action=1 显示“打开”对话框 MsgBox(您打开了&CommonDialog1.FileName&文件!)End Sub Private Sub mnuS
11、ave_Click()CommonDialog1.ShowSave 显示“另存为”对话框 MsgBox(您保存了&CommonDialog1.FileName&文件!)End Sub Private Sub mnuColor_Click()CommonDialog1.Action=3 显示“颜色”对话框 Form1.BackColor=CommonDialog1.Color End Sub Private Sub mnuExit_Click()Call Command1_Click End Sub Private Sub Command1_Click()End End Sub,2023/11/
12、8,Visual Basic程序设计简明教程,22,8.2 菜单弹出式菜单,弹出式菜单是独立于菜单栏而显示在窗体上的浮动菜单,又称为快捷菜单。在程序中至少含有一个菜单项的菜单都可以作为弹出式菜单,其在窗体上显示的位置可以变化,具有较大的灵活性。设计时应把菜单的Visible属性值设置为False,而菜单项的Visible属性值仍然设置为True。程序运行时并不会自动显示弹出式菜单,而是需要调用PopupMenu方法,其格式是:对象.PopupMenu 菜单名,flags,x,y,2023/11/8,Visual Basic程序设计简明教程,23,举例:,Private Sub Form_Mou
13、seDown(Button As Integer,Shift As Integer,X As Single,Y As Single)If Button=2 Then PopupMenu mnuSystem End If End Sub,返回,2023/11/8,Visual Basic程序设计简明教程,24,8.3 多重窗体窗体添加和启动,选择“工程”菜单的“添加窗体”菜单项,打开“添加窗体”对话框。在“添加窗体”对话框的“新建”选项卡中选择窗体类型,即可创建一个新窗体。如果在“现存”选项卡中进行选择,将会添加一个已存在的窗体,与其他的程序共享。,2023/11/8,Visual Basic程
14、序设计简明教程,25,启动窗体,多窗体程序运行时,首先被执行的窗体称为启动窗体。系统默认第一个建立的窗体(Form1)是启动窗体,也可以根据需要设置启动窗体或者启动过程。选择“工程”菜单的“工程属性”菜单项,打开“工程属性”对话框。在“工程属性”对话框的“通用”选项卡中,打开“启动对象”下拉列表框,选择一个窗体名或者“Sub Main”,即可设置启动对象。如果选择了“Sub Main”,就表示设置子过程Main为启动过程。程序运行时将首先执行Main过程,然后在该过程中根据情况加载某些窗体。,2023/11/8,Visual Basic程序设计简明教程,26,是这样启动窗体哦!,2023/11
15、/8,Visual Basic程序设计简明教程,27,8.3 多重窗体窗体操作,使用Load语句进行加载,其格式是:Load 窗体名使用Unload语句卸载一个窗体,其格式是:Unload 窗体名多窗体程序在运行时,某时刻只有一个窗体处于活动状态,因此经常需要从某个窗体切换到另一个窗体。例如从Form1切换到Form2,可以在窗体Form1的程序代码中添加以下语句:Unload Form1 Form2.Show,2023/11/8,Visual Basic程序设计简明教程,28,窗体之间共享数据,访问的一般形式是:窗体名.控件名.属性 例如把窗体Form2中文本框Text1的文本,显示在窗体F
16、orm1的标签Label1中,可以在窗体Form1的程序代码中添加一条语句:,2023/11/8,Visual Basic程序设计简明教程,29,例8.2 设计简单的多窗体程序,除了窗体Form1之外,再添加两个窗体Form2和Form3。在窗体Form1上创建“时钟”、“诗词”和“退出”三个命令按钮。在窗体Form2上创建一个计时器、一个标签和一个“返回”命令按钮,其中计时器的Interval属性值设置为1000。在窗体Form3上创建一个标签和一个“返回”命令按钮。,2023/11/8,Visual Basic程序设计简明教程,30,窗体Form1:,Private Sub Command
17、1_Click()Form1.Hide 隐藏窗体Form1 Form2.Show 显示窗体Form2 End Sub Private Sub Command2_Click()Form1.Hide 隐藏窗体Form1 Form3.Show 显示窗体Form3 End Sub Private Sub Command3_Click()End End Sub,Private Sub Timer1_Timer()Label1.FontSize=24 Label1.Caption=Time 显示当前时间 End Sub Private Sub Command1_Click()Me.Hide 隐藏窗体For
18、m2 Form1.Show 显示窗体Form1 End Sub,窗体Form2:,2023/11/8,Visual Basic程序设计简明教程,31,窗体Form3,Private Sub Form_Click()Dim s As String s=登鹳雀楼&vbCr s=s&白日依山尽&vbCr s=s&黄河入海流&vbCr s=s&欲穷千里目&vbCr s=s&更上一层楼 Label1.FontSize=24 Label1.Caption=s End Sub Private Sub Command1_Click()Me.Hide 隐藏窗体Form3 Form1.Show 显示窗体Form1
19、 Label1.Caption=请单击窗体 End Sub,返回,2023/11/8,Visual Basic程序设计简明教程,32,8.4 ActiveX控件,ActiveX控件是一段可以重复使用的程序代码和数据,其中封装了很多常用的功能,例如通用对话框、进度条和选项卡等等。在“工程”菜单中选择“部件”命令,打开“部件”对话框。然后在该对话框的“控件”选项卡中,选择要添加的控件所在的部件,单击“确定”按钮,即可在工具箱中添加相应的ActiveX控件。,2023/11/8,Visual Basic程序设计简明教程,33,8.4 ActiveX控件进度条,进度条(ProgressBar)控件位于
20、Microsoft Windows Common Controls 6.0部件中。进度条控件常用于观察一个耗时较长的操作所完成的进度,通过从左至右地用一些矩形块填充进度条的形式,直观地描述当前操作完成的程度。如果进度条被填满了矩形块,就表示操作已经完成。在工具箱中表示为:,2023/11/8,Visual Basic程序设计简明教程,34,进度条控件的属性页,2023/11/8,Visual Basic程序设计简明教程,35,进度条的常用属性,2023/11/8,Visual Basic程序设计简明教程,36,8.4 ActiveX控件选项卡,选项卡(SSTab)控件位于Microsoft T
21、abbed Dialog Control 6.0部件中。SSTab控件拥有多个选项卡,每一个选项卡都可以象框架一样,作为其他控件的容器。某时刻只有一个选项卡处于活动状态并显示,其余的选项卡则被隐藏。在工具箱中表示为:,2023/11/8,Visual Basic程序设计简明教程,37,选项卡控件的属性页,2023/11/8,Visual Basic程序设计简明教程,38,选项卡的常用属性,2023/11/8,Visual Basic程序设计简明教程,39,8.4 ActiveX控件列表视图,列表视图(ListView)控件位于Microsoft Windows Common Controls
22、6.0部件中。列表视图能够以列表的形式,直观地显示一组项目。与列表框控件相比,列表视图控件所显示的项目不仅可以有多列,而且每一列都能够拥有自己的列标题。在工具箱中表示为:,2023/11/8,Visual Basic程序设计简明教程,40,列表视图控件的属性页,2023/11/8,Visual Basic程序设计简明教程,41,列表视图的常用属性,2023/11/8,Visual Basic程序设计简明教程,42,说明:,(1)View属性值确定了列表视图中项目的外观,有标准图标(lvwIcon)、小图标(lvwSmallIcon)、列表(lvwList)和报表(lvwReport)等4种类型
23、。(2)ColumnHeaders本身是一个对象,用于管理列表视图的所有列标题。其Count属性则确定了列表视图中列标题的个数,即项目的列数。(3)列表视图的操作主要是针对其ListItems属性,即项目对象。ListItems本身也是一个对象,用于管理视图列表的所有项目。其Count属性确定了列表视图中项目的行数,即项目的个数。Item是ListItems的重要属性,其属性值是一个数组,每一个元素存放视图列表的一个项目。Item数组的元素又是一个对象,其SubItems属性值则是一个字符串数组,每一个元素依次存放相应项目的一个子项目。,2023/11/8,Visual Basic程序设计简明
24、教程,43,8.4 ActiveX控件树形视图,树形视图(TreeView)控件位于Microsoft Windows Common Controls 6.0部件中。树形视图能够以树形结构,组织类似文件目录这样的一些具有层次关系的节点对象(Node),并且以树形方式直观地显示节点对象的分层列表。在工具箱中表示为:,2023/11/8,Visual Basic程序设计简明教程,44,树形视图控件的属性页,2023/11/8,Visual Basic程序设计简明教程,45,树形视图的常用属性,2023/11/8,Visual Basic程序设计简明教程,46,8.4 ActiveX控件Animat
25、ion控件,Animation控件位于Microsoft Windows Common Controls-2 6.0部件中。Animation控件能够显示无声的AVI视频文件,它属于后台控件,程序运行时看不到。Animation控件一般用于播放无声的AVI动画,AVI动画是由若干帧位图组成的,其结构与电影类似。在工具箱中表示为:,2023/11/8,Visual Basic程序设计简明教程,47,Animation控件的属性页,2023/11/8,Visual Basic程序设计简明教程,48,Animation控件的常用属性,2023/11/8,Visual Basic程序设计简明教程,49
26、,Animation控件的常用方法,2023/11/8,Visual Basic程序设计简明教程,50,说明:,(1)Open方法的调用形式为:对象.Open Filename参数Filename表示在Animation控件中被打开文件的文件名,该文件的扩展名必须是avi。(2)Play方法的调用形式为:对象.Play RepeatCount,StartFrame,EndFrame参数RepeatCount表示动画重复播放的次数,其默认值是-1,表示可以连续重复地播放。参数StartFrame表示动画播放的开始帧,其默认值是0,表示从第一帧开始播放。参数EndFrame表示动画播放的结束帧,其默认值是-1,表示一直播放到最后一帧才结束。例如在控件Animation1中播放动画,从第7帧开始,到第23帧结束,一共重复3次,可以写为:Animation1.Play 3,7,23,返回,