版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第9 9章章 用户界面设计用户界面设计 2014年4月15日Visual Basic 程序设计教程教学目标教学目标 学会使用单选按钮、复选框等控件进行用户界面设计; 学会使用菜单制作的方法及简单菜单功能编码; 学会多重窗口的设置操作; 理解不同对象的属性、方法、事件等相关概念,以及事件驱动运行机制; 综合运用相关控件和代码,进行综合实例编程。9.19.1 其他常用控件其他常用控件 单选按钮、复选框单选按钮、复选框 单选按钮 用于从一组互斥的选项中选取其一,即当用户选中组中一个按钮后,同组中其他按钮会自动变为未选中状态。 复选框 用于从一组可选项中同时选中多个选项,单击复选框一次时被选中,左边
2、出现“”号,再次单击则取消选中,清除复选框中的“”。复选框按钮表明一个特定的状态是选定(Checked)还是未选定的(Unchecked)。由于复选框彼此独立工作,所以用户可以同时选择任意多个复选框。9.19.1其他常用控件其他常用控件2.2.框架框架 如果直接将所有的选项按钮放在一个窗体中,则所有的这些选项按钮均被视为同一组。为了实现能在不同的选项组中选取不同的选项按钮这一功能,必须将每一组的选项按钮放到框架控件(Frame)中,其常用属性见表9-2。 框架控件可从功能上把在其范围之内的相关控件组织在一起,框架其实是一个容器,所谓容器,就是可以在其上放置其他控件对象的一种对象。在前面所学的控
3、件对象中,窗体就是一种容器。容器内所有控件成为一个组合,随容器一起移动、显示、删除等。9.19.1其他常用控件其他常用控件2.2.框架框架【例9-1】设置个人信息。使用单选按钮和复选框设置个人简单信息(包括性别和爱好信息),最后将用户的选项信息显示在文本框中。运行后的程序界面如图9-1所示。图9-1 程序运行效果图Private Sub Command1_Click() If Option1.Value = True Then Text1.Text = 我是男生 If Option2.Value = True Then Text1.Text = 我是女生 文本框换行输出爱好信息 Text1.T
4、ext = Text1.Text & vbCrLf & 我的爱好有: vbcrlf表示回车换行 If Check1.Value = 1 Then Text1.Text = Text1.Text & Check1.Caption & ; If Check2.Value = 1 Then Text1.Text = Text1.Text & Check2.Caption & ; If Check3.Value = 1 Then Text1.Text = Text1.Text & Check3.Caption & ;End Sub9.19
5、.1其他常用控件其他常用控件3.3.滚动条控件滚动条控件滚动条分为水平滚动条(HscrollBox)和垂直滚动条(VscrollBox)两种,通常用来帮助观察数据或确定位置,还可作为速度、数量的指示器,或者数据输入的工具。滚动条控件的主要属性有三个:Min、Max和Value。其中,Min代表滚动条位置的最小值,Max代表滚动条位置的最大值,Value代表滚动条所在位置的值。除此之外,较常用的属性还有:SmallChange和LargeChange。滚动条常用事件是Change事件,当Value属性值发生变化时激发该事件;Scroll事件,当拖动滚动条时激发该事件。9.19.1其他常用控件其他
6、常用控件3.3.滚动条控件滚动条控件【例9-2】使用滚动条控件实现一个调色板,用来改变文本框中文字的颜色,程序运行界面如图9-2所示。Private Sub HScroll1_Change() Text1.ForeColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End Sub Private Sub HScroll2_Change() Text1.ForeColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End Sub Private Sub HScroll
7、3_Change() Text1.ForeColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value)End Sub图9-2 调色板运行效果图9.19.1其他常用控件其他常用控件4.4.计时器控件计时器控件计时器控件Timer可以用来设置时间间隔,当经过设定的时间后,随着引发的Timer事件,有规律地执行Timer事件过程中的程序代码。定时器每隔一定的时间间隔(即其每个周期)就产生一次Timer事件,用户可以根据这个特性设置时间间隔以控制某些操作或用于计时。时钟控件的主要属性只有两个:Interval和Enabled。其中,Interv
8、al属性决定时钟引发事件的周期(单位为ms)。如:Timer1.Interval=1000,则指周期为1s,每隔1秒钟引发一次Timer1控件的Timer事件。默认为0表示时钟不起作用,其Timer事件不会被触发。Enabled属性决定时钟控件是否有效。9.19.1其他常用控件其他常用控件4.4.计时器控件计时器控件【例9-3】使用计时器控件实现系统时间的更新显示,程序界面布局如图9-3所示。Private Sub Command1_Click() Timer1.Enabled = True 开启计时器Timer1End Sub Private Sub Command2_Click() Tim
9、er1.Enabled = False 关闭计时器Timer1End Sub Private Sub Timer1_Timer() 在Timer1的每个周期内,都将当前时间显示在标签上 Label2.Caption = Time()End Sub图9-3 计时器运行效果图9.19.1其他常用控件其他常用控件5.5.列表框列表框列表框 用于列出可供用户选择的项目列表,用户单击列表框中某项,则该项被选中,并且该项目加亮显示。列表框项目很多时,列表框自动附加一个垂直滚动条。9.19.1其他常用控件其他常用控件5.5.列表框列表框列表框经常使用的重要方法有以下三个:AddItem方法,向列表框中加入新
10、项目。格式:列表框名.AddItem 字符串 ,位置号功能:在列表框中指定的位置加入项目字符串。其中,位置号为一整数,从0开始,默认时指将字符串加在最后。RemoveItem 方法,从列表框中删除一个项目。格式:列表框名.RemoveItem位置号功能:从列表框中删除指定位置号的项目。其中,位置号的含义与AddItem方法中的相同。Clear方法,删除列表框中所有项目。格式:列表框名.Clear功能:删除列表框中的所有项目。9.19.1其他常用控件其他常用控件5.5.列表框列表框【例9-4】使用文本框和下拉列表框实现客户信息的管理(包括添加、删除、清除客户信息和统计客户个数功能),运行后的程序
11、界面如图9-4和图9-5所示。图9-4 添加客户图9-5删除部分客户后的界面 Private Sub Command1_Click() List1.AddItem Text1.Text Text1.Text = 清除“文本框” Text1.SetFocus Label3.Caption = List1.ListCount 显示列表框中客户数目 End Sub 选择项目,单击删除按钮从列表框中删除 Private Sub Command2_Click() Dim Ind As Integer 定义一个整型变量Ind Ind = List1.ListIndex 获取索引 If Ind = 0 Th
12、en 确保选定列表项目 List1.RemoveItem Ind 将其从“列表框”中删除。 Label3.Caption = List1.ListCount 显示数目。 End If Command2.Enabled = List1.ListIndex -1 End Sub 清除按钮的事件处理过程 Private Sub Command3_Click() List1.Clear 清空“列表框” Command2.Enabled = False 禁用“删除”按钮 Label3.Caption = List1.ListCount 显示数目 End Sub 退出按钮的事件处理过程 Private S
13、ub Command4_Click() Unload Form1 End Sub单击列表框选中某一客户时使删除有效 Private Sub List1_Click() Command2.Enabled = List1.ListIndex -1 End Sub 文本框内容改变事件处理过程 Private Sub Text1_Change() Text1文本框中至少有一个字符时,激活“添加”按钮。 Command1.Enabled = (Len(Text1.Text) 0) End Sub9.19.1其他常用控件其他常用控件6.6.组合框组合框组合框(ComboBox) 兼有文本框和列表框的功能,
14、允许用户通过键入文本或选择列表两种方法来进行选择。9.19.1其他常用控件其他常用控件6.6.组合框组合框【例9-5】使用组合框实现计算机二级考试报名程序。图9-6考试报名程序运行效果图Private Sub Command1_Click()s = Text1.Text & & Text2.Text & & Combo1.TextList1.AddItem sText1.Text = Text2.Text = Command1.Enabled = FalseEnd SubPrivate Sub Command2_Click()If List1.ListIndex
15、 = 0 Then List1.RemoveItem List1.ListIndexCommand2.Enabled = FalseEnd SubPrivate Sub Command3_Click()List1.ClearEnd SubPrivate Sub Command4_Click()EndEnd SubPrivate Sub Form_Load()Combo1.AddItem 软件131Combo1.AddItem 软件132Combo1.AddItem 计应131Combo1.AddItem 计应132Combo1.AddItem 网通131Combo1.AddItem 网通132
16、Combo1.AddItem 网通133Combo1.AddItem 网通134“Combo1.Text = 软件131Command1.Enabled = FalseCommand2.Enabled = FalseEnd SubPrivate Sub List1_Click()Command2.Enabled = List1.ListIndex -1End SubPrivate Sub Text1_Change()Command1.Enabled = Text1.Text End Sub9.29.2 驱动器、目录与文件控件驱动器、目录与文件控件1.1.驱动器列表框驱动器列表框驱动器列表框是供
17、用户操作计算机中各驱动器的一个下拉式列表框,一般显示当前驱动器名称,单击其右边向下的箭头按钮时,就会打开一个列表,列出当前系统中所拥有的所有驱动器供用户选择。如图9-8所示。图9-8 驱动器列表图9-8 驱动器列表9.29.2 驱动器、目录与文件控件驱动器、目录与文件控件2.2.目录列表框目录列表框目录列表框显示当前驱动器的目录结构及当前目录下的所有子目录。在目录列表框中,鼠标双击某个目录便可显示该目录下的所有子目录。目录列表框最常用的属性是Path,该属性用于设置或返回当前目录的完整路径,只能在程序中使用,不能在设计阶段设置,格式如下:对象名.Path路径名同驱动器列表框一样,每当Path属
18、性值发生改变时,都会触发Change事件。9.29.2 驱动器、目录与文件控件驱动器、目录与文件控件3.3.文件列表框文件列表框文件列表框用于显示当前驱动器中当前目录下的所有文件。文件列表框的主要属性见表9-11。9.29.2 驱动器、目录与文件控件驱动器、目录与文件控件3.3.文件列表框文件列表框【例9-6】头像设置程序。在本地电脑中选择一个图片作为个人头像进行设置,程序运行结果如图9-9所示。图9-9设置个人头像程序运行结果图Private Sub Dir1_Change()目录列表框发生改变时File1.Path = Dir1.PathEnd SubPrivate Sub Drive1_
19、Change()驱动器列表框发生改变时Dir1.Path = Drive1.DriveEnd SubPrivate Sub File1_Click()用户单击文件列表框中某一文件时s = LCase(Right$(File1.FileName, 3) 截取文件名的后缀,并转化为小写If s = bmp Or s = ico Or s = gif Or s = jpg Then grphy_file = File1.Path & & File1.FileName Image1.Picture = LoadPicture(grphy_file)Else MsgBox (所选文件为非
20、图形文件,按确定后请重新选取)End IfEnd Sub9.39.3 通用对话框通用对话框1.1. “通用对话框通用对话框”使用步骤使用步骤通用对话框控件不属于VB6.0的标准控件,默认情况下未出现在开发环境的工具箱中,因此必须首先将该控件添加到工具箱中方可使用。添加“通用对话框”部件的步骤:(1)选择“工程”菜单中的“部件”命令打开部件对话框。(2)在控件标签中选定“Microsoft Common Dialog Control 6.0” 。(3)选择【确定】按钮退出,此时,通用对话框控件图标 就会出现在控件工具箱中。9.39.3 通用对话框通用对话框1.1. “通用对话框通用对话框”使用步
21、骤使用步骤一旦把通用对话框控件加到工具箱后,就可像使用标准控件一样将其添加到窗体上。通用对话框除了Name、Top、Left、DialogTitle(对话框标题)等基本属性外,最主要的就是Action属性和Show方法。正是通过Action属性或Show方法才能决定通用对话框的应用类型,即选择6种标准对话框中的一种。9.39.3 通用对话框通用对话框2.2. “通用对话框通用对话框”的重要属性和方法的重要属性和方法1)“打开”/“另存为”对话框9.39.3 通用对话框通用对话框2.2. “通用对话框通用对话框”的重要属性和方法的重要属性和方法1)“打开”/“另存为”对话框【例9-7】编程在VB
22、中选择纯文本文件并调用记事本软件notepad.exe打开编辑。图9-12 运行初始界面图9-13 用于打开文本文档的对话框图9-14 用记事本打开的文本文档9.39.3 通用对话框通用对话框2.2. “通用对话框通用对话框”的重要属性和方法的重要属性和方法2)“颜色”对话框在程序中使用:控件名.Action3或控件名.ShowColor的语句时,就会弹出如图9-16所示的“颜色”对话框。颜色对话框中最重要的属性就是Color,用于设定或返回用户在颜色对话框中选定的颜色。图9-16 颜色对话框9.39.3 通用对话框通用对话框2.2. “通用对话框通用对话框”的重要属性和方法的重要属性和方法3
23、)“字体”对话框字体对话框的常用属性参见表9-15。9.39.3 通用对话框通用对话框2.2. “通用对话框通用对话框”的重要属性和方法的重要属性和方法4)“打印”对话框“打印”对话框用来设置打印机的属性以及为打印处理指定诸如打印范围、数量等相应的选项;通过使用:控件名.Action5或控件名.ShowPrinter语句显示“打印”对话框。9.49.4 菜单设计菜单设计1.1. 菜单菜单命令菜单是Windows应用程序窗口基本的组成元素之一,命令菜单中列出了程序的各种操作命令。在VB中,利用系统提供的“菜单编辑器”可以非常方便地建立各种菜单。1) 菜单编辑器在VB 6.0的开发集成环境中可以通
24、过4种方法进入菜单编辑器。执行“工具”菜单中的“菜单编辑器”命令。使用热键Ctrl+E。单击工具栏中的“菜单编辑器”按钮 。在要建立菜单的窗体上右击,将弹出一个菜单,在该菜单中单击“菜单编辑器”命令。9.49.4 菜单设计菜单设计1.1. 菜单菜单2)建立菜单建立一个菜单的过程一般可分为以下几个步骤:打开菜单编辑器;输入标题属性,名称属性;选择快捷键、复选、有效、可见等属性;运用箭头键调整当前菜单位置;重复上述四步直至完成菜单的输入;单击“确定”按钮。【例9-9】编写一个菜单应用程序,菜单栏有“字体”、“字形”及“字号”三个菜单,用以控制主窗体上文本框中所显示文本的样式。图9-21“字体”菜单
25、9.49.4 菜单设计菜单设计2.2. 弹出式菜单弹出式菜单1) 建立弹出式菜单建立弹出式菜单的操作与普通下拉菜单的制作基本相同,惟一的区别是如果不想在窗体顶部显示该菜单,就应把菜单名(即主菜单项)的“可见”属性设置为False(子菜单项不需要设置“可见”属性为False)。具体步骤如下。打开菜单编辑器,建立弹出式菜单的顶层项(本例中标题为“编辑”,名称为MnuEdit)。设置MnuEdit为不可见,无快捷键。设计MnuEdit的各个二级菜单项,各二级菜单项前的“有效”属性均设为False(“有效”复选框不打勾)。利用菜单编辑器建立弹出式菜单的界面,如图9-26所示。单击“确定”按钮。9.49
26、.4 菜单设计菜单设计2.2. 弹出式菜单弹出式菜单2) 激活弹出式菜单一般用PopupMenu方法来激活显示弹出式菜单,其格式为:对象. PopupMenu 菜单名在常用控件中只有窗体具有PopupMenu方法,所以通常在代码中可以看到省略窗体名,直接使用PopupMenu方法。【例9-10】实现右击菜单中关于文本字形、颜色的各种设置,右键菜单如图9-27所示。图9-27 快捷子菜单9.49.4 菜单设计菜单设计3.3. 菜单控件数组菜单控件数组菜单控件数组的建立方法与普通的控件数组建立类似,只需将同一个菜单控件数组中的各菜单项的名称置为相同,而各自的索引值不同即可。(一般是每一个控件数组的
27、第一个菜单项的索引为0或1,其余依次递增。)【注意】(1) 菜单控件数组的各菜单项(即数组元素)在菜单控件的菜单显示区中必须处在同一缩进级上,即构成同一个菜单数组的各菜单项必须是相邻的、同级菜单项。(2) 菜单控件数组各元素的名称(即数组名)必须完全一致。(3) 如果菜单项中有分隔线,则该分隔线也应定义为菜单控件数组中的一个元素。9.49.4 菜单设计菜单设计4.4. 动态菜单动态菜单对于要求动态显示的菜单项,其菜单项的添加与删除分别用Load和Unload语句实现,其语法格式为添加菜单数组元素: Load 菜单数组名(index) 删除菜单数组元素: UnLoad 菜单数组名(index)
28、其中,index指菜单项的索引值。【例9-11】编写一个应用程序,菜单栏有“动态菜单”及“动态菜单控制”两项菜单,“动态菜单控制”下的子菜单项能够动态控制“动态菜单”下的子菜单项的增加与删除。9.59.5 多重窗体多重窗体1.1.与多重窗体有关的操作与多重窗体有关的操作 VB6.0的开发环境为包含多重窗体的应用程序提供了非常方便的窗体管理操作,这些操作包括窗体的添加、删除、切换、保存等。(1) 添加窗体 添加窗体是指在当前工程中添加一个新的窗体或者把一个属于其它工程的窗体添加到当前工程中。添加一个新窗体的方法如下:选择“工程”“添加窗体”菜单项;或者直接点击工具栏上的 按钮,在随后的“添加窗体
29、”对话框中点击“打开”即可。(2) 当前窗体的切换 当一个应用程序中含有多个窗体时,只需在工程资源管理器中直接点击所需的窗体名便可方便地切换窗体。(3) 删除窗体 在工程资源管理器窗口中,选取欲删除的窗体(假设名为Form2)后单击鼠标右键,再弹出的快捷菜单中选择“移除Form2”项即可。 (4) 启动窗体的设置 默认情况下,含有多个窗体的应用程序在设计阶段建立的第一个窗体为启动窗体。即应用程序开始运行时,先运行这个窗体。如果要改变系统默认的启动窗体,需要另行设置。方法是:选择“工程”“工程属性”菜单项,弹出如图9-32所示的窗口,在“启动对象”下拉框中选择所需的窗体后按【确定】按钮。9.59
30、.5 多重窗体多重窗体2.2.与多重窗体有关的语句和方法与多重窗体有关的语句和方法在多窗体程序设计中,经常需要打开、关闭、隐藏或显示指定的窗体。这可以通过相应的语句和方法来实现。(1) Load语句格式:Load 窗体名功能:将指定窗体装入内存。(2) Show方法格式:窗体名.Show 功能:显示一个窗体(3) Unload语句格式:Unload 窗体名功能:该语句与Load语句的功能相反,用于清除内存中指定的窗体。(4) Hide方法格式:窗体名.Hide功能:Hide方法使窗体隐藏起来,不在屏幕上显示,但此时窗体仍在内存中。因此,它与Unload语句的作用是不一样的。9.59.5 多重窗
31、体多重窗体3.3.与多重窗体的存取与多重窗体的存取1)保存多重窗体程序保存多重窗体程序,通常需要以下2步:(1)在工程资源管理器中选择要保存的窗体,如“Form2”,然后执行“文件”菜单中的“Form2另存为”命令,打开“文件另存为”对话框,将窗体保存到磁盘文件中。在工程资源管理器窗口中列出的每个窗体或标准模块均须分别存入磁盘。(2)执行“文件”菜单中的“工程另存为”命令,打开“工程另存为”对话框,把整个工程以.vbp为扩展名存入磁盘。2)装入多重窗体程序执行“文件”菜单中的“打开工程”命令,显示“打开工程”对话框,在对话框中输入或选择工程文件名(.vbp),然后单击“打开”按钮,即可把属于该
32、工程的所有文件装入内存。3)多重窗体程序的编译多重窗体程序可以编译生成可执行文件(.exe),其操作与单窗体程序是一样的。9.69.6 鼠标和键盘鼠标和键盘1.1.鼠标鼠标 1)MouseDown、MouseUp和MouseMove事件与鼠标Click和DblClick事件不同,MouseDown和MouseUp事件能够区分鼠标的左、中和右键,也可以为使用Shift、Ctrl和Alt等键盘按键编写用于鼠标键盘组合操作的代码。MouseDown、MouseUp和MouseMove事件过程的一般格式(以窗体对象为例):Private Sub Form_MouseDown(Button As Int
33、eger, Shift As Integer, X As Single, Y As Single) 当鼠标的任一键被按下时触发该事件Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 当鼠标的任一键被释放时触发该事件Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 当鼠标被移动时触发该事件9.69.6 鼠标和键盘鼠标和键盘1.1.鼠标鼠标 2)
34、DragDrop和DragOver事件DragOver事件在拖放操作正在进行时发生,而DragDrop事件最常见的激活状态是在一个完整的拖放动作完成(如将一个控件拖到另一个对象上,并释放了鼠标)时。因此,DragDrop事件过程用来控制在一个拖动操作完成时将会发生的情况,而DragOver事件过程则用来处理拖动正在进行时需执行的功能。DragDrop和DragOver事件过程的一般格式(以窗体对象为例):Sub Form_DragDrop(Source As Control, X As Single, Y As Single) Sub Form_DragOver(Source As Control, X As Single, Y As Single, State As Integer)其中:Source :表示正在被拖放的控件对象;X,Y:指当前鼠标指针在目标对象上的位置坐标;State:代表源控件被拖动的情况,比如,是正在向目标范围内拖动(值为0),还是向目标范围外拖动(值为1),或者是在目标范围内部移动(值为2)。9.69.6 鼠标和键盘鼠标和键盘2.2.键盘键盘在VB中,对象识别的键盘事件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025关于公司借款合同范本
- 2025年度建筑分公司承包经营合同书3篇
- 二零二五年度建筑工程后期维护三方服务合同范本3篇
- 2025年度城市绿化苗木种植与养护承包合同3篇
- 思考引领青春奋进
- 思考引领梦想青春无畏追求
- 《企业员工管理》课件
- 化疗与止吐治疗
- 创伤后肘关节僵硬治疗
- 2025版家具设计作品版权登记合同3篇
- 2024年电商平台入驻服务合同
- 2024年度政府采购代理服务合同-医疗卫生设备采购项目3篇
- GJB9001C版标准培训课件
- 船舶防火与灭火(课件)
- 七、监理工作重点、难点分析及对策
- 面膜中蓝铜肽经皮渗透性和改善皮肤衰老作用研究
- 湖北省荆州市八县市2023-2024学年高一上学期1月期末考试 化学 含解析
- 专题05 说明文阅读(必考题型梳理)50题-2023-2024学年八年级语文下学期期中专题复习(上海专用)(解析版)
- 《水文化概论》全套教学课件
- 2023年四川省公务员录用考试《行测》真题卷及答案解析
- 社区共享菜园建设方案及实施计划
评论
0/150
提交评论