资源预览内容
第1页 / 共70页
第2页 / 共70页
第3页 / 共70页
第4页 / 共70页
第5页 / 共70页
第6页 / 共70页
第7页 / 共70页
第8页 / 共70页
第9页 / 共70页
第10页 / 共70页
亲,该文档总共70页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第五章 用户界面设计 学学习要求要求要求要求读者者经过对本章的学本章的学习,掌,掌握握设计友好用友好用户界面的根本方法,可以界面的根本方法,可以实现带有菜有菜单和工具条的程序界面。和工具条的程序界面。学学习提示提示常用的根本控件无法常用的根本控件无法实现更加更加友好的用友好的用户界面,因此本章运用了微界面,因此本章运用了微软所提供所提供的高的高级控件控件组,读者必需掌握添加部件的方法。者必需掌握添加部件的方法。主要内容主要内容本章主要引本章主要引见了菜了菜单的的设计方法、高方法、高级控件控件组所包含所包含进度条控件、度条控件、ImageList控件、控件、TreeView控件、控件、ListView控件、工具条控件在用控件、工具条控件在用户界界面面设计方面的运用。方面的运用。.第一节第一节 菜单设计菜单设计 菜单是Windows运用软件很重要的用户界面元素,菜单提供应用软件大多数的命令,并且操作简单,弹指一挥间,软件就可发扬它的功能。假设在本人开发的软件中加上菜单,使软件更具有专业化水准,Visual Basic 作为一种优秀的快速软件开发工具,提供了用于制造菜单的“菜单编辑器,使软件开发人员方便快捷地为本人的运用软件制造菜单,本节重点引见下拉菜单、浮动菜单的运用。在在Visual BasicVisual Basic中,菜单编辑器是设计和管理菜单的图形中,菜单编辑器是设计和管理菜单的图形化工具。运用菜单编辑器软件开发者可以在运用程序中添化工具。运用菜单编辑器软件开发者可以在运用程序中添加、修正、重新陈列、删除菜单,还可以设置访问键、选加、修正、重新陈列、删除菜单,还可以设置访问键、选中标志、以及快捷键等功能。中标志、以及快捷键等功能。 一. 下拉菜单一一 菜单编辑器菜单编辑器 1. 1. 翻开菜翻开菜单编辑器的三种方式:利用器的三种方式:利用“工具工具| |菜菜单编辑器菜器菜单子子项;单击工具工具栏上的菜上的菜单编辑器按器按钮;按快捷;按快捷键Ctrl+ECtrl+E。经过以上三种方法中恣意一种以上三种方法中恣意一种, ,就可以翻开如就可以翻开如图5-15-1所示的所示的“菜菜单编辑器器对话框。框。图图5-15-1菜单编辑器菜单编辑器2 2菜单编辑器的构成菜单编辑器的构成 “ “菜菜单编辑器器对话框中框中显示建立菜示建立菜单时所需的命令和所需的命令和选项。大多数菜。大多数菜单控件的属性可在控件的属性可在“菜菜单编辑器器对话框中框中设置,置,一切菜一切菜单的属性在的属性在“属性窗口中也都是可用的。属性窗口中也都是可用的。 下面,下面,详细引引见“菜菜单编辑器器对话框中各个框中各个组成部分成部分的意的意义。标题标题P)P):用户可在标题文本框中输入所要建立的菜:用户可在标题文本框中输入所要建立的菜单名,这些名字将出如今菜单栏或下拉式菜单之中。单名,这些名字将出如今菜单栏或下拉式菜单之中。假设想在菜单中建立分隔符条,那么应输入一个连字假设想在菜单中建立分隔符条,那么应输入一个连字符一,关于如何设置访问键的内容,将在本章后符一,关于如何设置访问键的内容,将在本章后面小节中引见。面小节中引见。称号称号N)N):用户可在称号文本框中输入各菜单的:用户可在称号文本框中输入各菜单的控件名。控件名是标识符,仅用于访问代码中的控件名。控件名是标识符,仅用于访问代码中的菜单项,用于程序设计中,它不会出如今菜单中,菜单项,用于程序设计中,它不会出如今菜单中,每一个菜单都必需具有一个控件名。每一个菜单都必需具有一个控件名。索引索引X)X):可在索引文本框中指定一个数字值,:可在索引文本框中指定一个数字值,用来建立菜单控件数组的索引号,以确定该菜用来建立菜单控件数组的索引号,以确定该菜单在菜单控件数组中的位置,该位置与菜单在单在菜单控件数组中的位置,该位置与菜单在屏幕中出现的位置无关。屏幕中出现的位置无关。快捷键快捷键S):S):快捷键选项为一个组合框,单击组快捷键选项为一个组合框,单击组合框的三角按钮,可翻开列表,合框的三角按钮,可翻开列表, 该列表中列出该列表中列出了供用户选择的快捷键。了供用户选择的快捷键。Visual BasicVisual Basic允许用允许用户为每个菜单项选择择快捷键,如户为每个菜单项选择择快捷键,如Ctrl+ACtrl+A等。等。协助上下文协助上下文IDIDH H :协助上下文:协助上下文IDID选项为一个文选项为一个文本框,用户可以在此文本框中为协助上下文本框,用户可以在此文本框中为协助上下文IDID输入输入一个独一数值。在一个独一数值。在HelpFileHelpFile属性指定文件中,用该属性指定文件中,用该数值查找适当的协助主题。数值查找适当的协助主题。协调位置协调位置O O :协调位置选项为一个组合框,单:协调位置选项为一个组合框,单击组合框的三角按钮,可翻开列表。该属性确定了击组合框的三角按钮,可翻开列表。该属性确定了菜单能否出现或怎样出如今窗体的菜单栏中。菜单能否出现或怎样出如今窗体的菜单栏中。复复选C): C): 复复选选项为一个复一个复选框,用来框,用来设置能否置能否在菜在菜单项的左的左边出出现复复选标志志“。选中中该复复选框,框,那么在菜那么在菜单项选择项的左的左边出出现“符号。要恢复符号。要恢复正常,只需去除正常,只需去除该复复选框即可。通常用框即可。通常用该标志来指志来指示菜示菜单项选择项的开关形状。的开关形状。有效有效E)E):有效选项为一个复选框,用来设置菜单:有效选项为一个复选框,用来设置菜单项选择项能否为所设置的事件做出呼应。假设选中项选择项能否为所设置的事件做出呼应。假设选中该复选框,那么用户不能访问该菜单项选择项,该该复选框,那么用户不能访问该菜单项选择项,该菜单项选择项呈灰度显示;如希望恢复正常,只需菜单项选择项呈灰度显示;如希望恢复正常,只需去除该复选框即可。去除该复选框即可。可见可见Y Y:可见选项为一个复选框,用来设置菜:可见选项为一个复选框,用来设置菜单项选择项能否显示在菜单栏中。选中该复选框,单项选择项能否显示在菜单栏中。选中该复选框,那么该菜单不可见;如希望恢复正常,只需去除那么该菜单不可见;如希望恢复正常,只需去除该复选框即可。利用该属性可制造弹出菜单,使该复选框即可。利用该属性可制造弹出菜单,使菜单根据用户的需求出如今窗体中。菜单根据用户的需求出如今窗体中。显示窗口列表显示窗口列表W W :显示窗口列表为一个复选框,:显示窗口列表为一个复选框,该选项确定在该选项确定在MDIMDI运用程序运用程序 中,菜单控件能否包含中,菜单控件能否包含一个翻开的一个翻开的MDIMDI子窗体列表。子窗体列表。 :单击该按钮,可将选定的菜单向上挪动一个等级。一共可以创建4个子菜单等级。 :单击该按钮,可将选定的菜单项在同一级菜单内向上挪动一个位置。 :单击该按钮,可将选定的菜单向下挪动一个等级。一共可以创建4个子菜单等级。 :单击该按钮,可将选定的菜单项在同一级菜单内向下挪动一个位置。v菜单列表框:菜单列表框显示窗体中所设计的一切菜单列表框:菜单列表框显示窗体中所设计的一切菜单名和菜单项选择项,用缩进方式指示各菜单的菜单名和菜单项选择项,用缩进方式指示各菜单的等级和位置。用户在设计菜单时,编辑好的菜单将等级和位置。用户在设计菜单时,编辑好的菜单将会立刻显示在列表框中。会立刻显示在列表框中。 按钮:单击该按钮,可将从选定的菜单项选择项所在的当前行挪动到下一行。 在选定的菜单按钮:单击该按钮,可选项所在行的上一行插入一个菜单项选择项。 按钮:单击该按钮,可删除当前选定的菜单项选择项。3.3.设计菜单设计菜单下面经过一个实例引见设计菜单的过程。设计一下面经过一个实例引见设计菜单的过程。设计一个菜单系统如图个菜单系统如图5.25.2、图、图5.35.3所示,菜单的属性,所示,菜单的属性,如表如表5-15-1所示。所示。表表5-15-1设计菜单的属性设计菜单的属性主菜主菜单标题子菜子菜单标题菜菜单名称名称访问键快捷快捷键文件文件mnufilemnufileAlt+FAlt+F新建新建mnunewmnunewAlt+NAlt+NCtrl+NCtrl+N打开打开mnuopenmnuopenAlt+OAlt+OCtrl+OCtrl+O关关闭mnuclosemnucloseAlt+CAlt+CCtrl+CCtrl+C保存保存mnusavemnusaveAlt+SAlt+SCtrl+SCtrl+S退出退出mnuexitmnuexitAlt+XAlt+XCtrl+XCtrl+X编辑mnueditmnueditAlt+EAlt+E剪剪贴mnucutmnucutAlt+IAlt+ICtrl+TCtrl+T复制复制mnucopymnucopyAlt+YAlt+YCtrl+YCtrl+Y粘粘贴mnupastemnupasteAlt+PAlt+PCtrl+PCtrl+P图图5-2 5-2 设计的菜单图设计的菜单图 5-3 5-3 菜单编辑器的菜单菜单编辑器的菜单下面引下面引见这个菜个菜单系系统的制造的制造过程。程。 (1) (1)选中需求菜中需求菜单的窗体,的窗体,这里里选中中Form1Form1窗体。窗体。 (2) (2)单击“工具工具|“|“菜菜单编辑器,翻开菜器,翻开菜单编辑器器窗体。窗体。在在“标题文本框内,文本框内,键入主菜入主菜单标题“文件,在文件,在“称称号文本框内号文本框内键入入 mnufile mnufile,这个称号将被用在代个称号将被用在代码中,中,用来援用用来援用这个菜个菜单。如。如图5-45-4所示:所示: (3) (3)单击“下一个按下一个按钮,在,在标题和称号文本框内分和称号文本框内分别键入入“新建,新建,“mnunew“mnunew, ,单击按按钮,将,将“新建菜新建菜单挪挪动一个等一个等级,在,在“菜菜单列表框中的列表框中的“新建左新建左边出出现四个点,如四个点,如图5-55-5:图图5-4 5-4 输入文件标题、称号输入文件标题、称号mnufilemnufile窗口窗口 图图5-5 5-5 输入新建标题、称号输入新建标题、称号mnunewmnunew窗口窗口 (4) 反复4步,创建子菜单“翻开,“封锁,“保管,“退出。完成后,单击“确定按钮。第一个主菜单“文件完成以后如图5-6。(5)下面创建第二个主菜单“编辑,反复345步,即可。创建后的菜单如图5-7所示。 图图5-6 5-6 文件菜单文件菜单 图图5-7 5-7 编辑菜单编辑菜单 4.分隔符分隔符表现为菜单之间的程度线,运用这些程度线,将各个菜单按照功能划分为一些逻辑组。同时使得界面美观,查找方便。下面给上例中的菜单添加分隔符。 (1)翻开“菜单编辑器,在“菜单列表框选中“翻开菜单; (2)单击“插入按钮,在“标题,写入“-,在“称号文本框中写入本人命名的标识符mnufenge1 ; (3)反复以上的方法,在“封锁与“保管之间添加分隔符; (4)单击“确定按钮,完成后具有分隔符的菜单如图5-8。5.5.快捷快捷键在操作在操作时,直接运用快捷,直接运用快捷键能提高能提高选取菜取菜单的速度,的速度,按下快捷按下快捷键时,就会立刻运,就会立刻运转相相应的菜的菜单命令。在命令。在“菜菜单编辑器器“中很容易定中很容易定义快捷快捷键。比如比如为“新建菜新建菜单定定义快捷快捷键,在,在“菜菜单编辑器中,器中,单击“快捷快捷键字符串右字符串右侧的下拉箭的下拉箭头,下拉列表框中,下拉列表框中显示了可以运用的快捷示了可以运用的快捷键组合,我合,我们选取取CtrlCtrlN N作作为“新建菜新建菜单的快捷的快捷键。假。假设要要删除曾除曾经定定义的快捷的快捷键,选取取“None“None即可。如即可。如图5-95-9: 图图5-8 5-8 添加分隔符后的菜单添加分隔符后的菜单 图图5-9 5-9 添加快捷键添加快捷键6.6.访问键设置置访问键,运用,运用户可以可以经过同同时按下按下“Alt“Alt键和相和相应的字的字母母键翻开菜翻开菜单,在,在Visual BasicVisual Basic中定中定义访问键在在“菜菜单编辑器中完成,在器中完成,在“标题栏中,只需求把字符中,只需求把字符“&“&放置在作放置在作为访问键字母的前面就可以了。菜字母的前面就可以了。菜单中不中不显示字符示字符“&“&, ,只只是将作是将作为访问键的字母下添加下划的字母下添加下划线。下面下面为“文件及其子菜文件及其子菜单定定义访问键。翻开翻开“菜菜单编辑器,器,选中要中要设置置访问键的菜的菜单,比如,比如“文件文件,在,在“标题文本框中参与字符串文本框中参与字符串“&F&F,这样就把就把“F“F作作为“文件菜文件菜单的的访问键。反复上面的方法,根据上例中列表的要求,完成反复上面的方法,根据上例中列表的要求,完成对各个菜各个菜单访问键的的设置。如置。如图5-105-10。图图5-10 5-10 添加访问键添加访问键 图图5-11 5-11 设计后的完好菜单设计后的完好菜单7.7.设计完好的菜单如图设计完好的菜单如图5-115-118.8.编写菜写菜单的代的代码程序程序设计时,当用,当用户单击一个菜一个菜单时,Visual Visual BasicBasic自自动翻开翻开“代代码编辑窗口,自窗口,自动生成菜生成菜单的的ClickClick事件事件过程,不程,不过这个事件代个事件代码是空是空的。如的。如图5-125-12所示:所示:图图5-12 5-12 编写程序代码编写程序代码为了实现各个菜单的功能,需求为每一个菜单编写为了实现各个菜单的功能,需求为每一个菜单编写ClickClick事件代码。事件代码。Visual BasicVisual Basic中,除分隔符以外的一切菜单,中,除分隔符以外的一切菜单,都能识别都能识别ClickClick事件。为菜单事件编写代码与普通控件编事件。为菜单事件编写代码与普通控件编写代码的方法完全一样。写代码的方法完全一样。例如:例如:“文件文件“|“|退出退出“菜菜单的的ClickClick事件的代事件的代码如下所示,如下所示,Private Sub mnuexit_Click()Private Sub mnuexit_Click()EndEndEnd SubEnd Sub特特别留意,当用留意,当用户单击主菜主菜单时,Visual BasicVisual Basic自自动地翻开地翻开其子菜其子菜单,没有必要,没有必要为它它编写代写代码,除非有一些特,除非有一些特别地要求,地要求,比如在每次比如在每次显示子菜示子菜单时,使得其中的有些菜,使得其中的有些菜单无效或不可无效或不可见。 二.浮动菜单我们运用Windows运用软件时,当单击鼠标右键时,会在鼠标单击处出现一个弹出式菜单,弹出式菜单是独立于菜单栏而显示在窗体上的浮动菜单,经常被用来快速地在屏幕上显示运用频率较高的菜单命令,以加快和方便操作。1.popupMenu1.popupMenu方法方法Visual Basic Visual Basic 中,显示弹出式菜单运用中,显示弹出式菜单运用popupMenupopupMenu方法。方法。其语法格式如下示:其语法格式如下示:对象对象.popupMenu .popupMenu 菜单名,菜单名,flags ,x,y,boldcommandflags ,x,y,boldcommand,其意,其意义为:义为: 对象对象 为一个对象表达式,假设省略,那么默以为带有焦为一个对象表达式,假设省略,那么默以为带有焦点的对象。点的对象。 菜单名菜单名 单击右键时要显示的浮动菜单名,指定的菜单至单击右键时要显示的浮动菜单名,指定的菜单至少含有一个选项菜单。少含有一个选项菜单。flags flags 经过设置这个参数,来指定弹出式菜单的位置和行经过设置这个参数,来指定弹出式菜单的位置和行为。为。x,y x,y 这两个参数用来设置显示弹出式菜单的这两个参数用来设置显示弹出式菜单的x x坐标和坐标和y y坐坐标。假设省略这两个参数,那么运用鼠标的当前坐标。标。假设省略这两个参数,那么运用鼠标的当前坐标。Boldcommand Boldcommand 用黑体显示菜单中的菜单名。用黑体显示菜单中的菜单名。2.2.浮浮动菜菜单实例例将前面将前面创建的建的“编辑菜菜单制形成制形成弹出式菜出式菜单,方法方法为:(1)(1)翻开翻开“菜菜单编辑器。器。(2)(2)选中中“编辑菜菜单。(3)(3)去除去除“可可见复复选框中的框中的“。如。如图5-135-13。(4)(4)单击“确定按确定按钮,封,封锁“菜菜单编辑器窗口。器窗口。图图5-13 5-13 设计浮动菜单设计浮动菜单程序运转时,当单击右键后,显示浮动菜单mnuedit。在编写代码时,需求在窗体的Mouseup或MouseDown事件过程中添加程序代码,来检测单击右键,显示菜单。如下所示:Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu mnuedit End IfEnd Sub在MouseUp事件过程中,经过If语句,判别参数Button的值,假设为2,那么阐明按下了鼠标右键,然后调用popupMenu方法,显示“编辑菜单。如图5-14:v图图5-14 5-14 运转的浮动菜单运转的浮动菜单第二第二节高高级控件控件组在在VisualBasic6.0中,用中,用户可以加可以加载和运用和运用VisualBasic6.0提供的以及第三方开提供的以及第三方开发的的许多多扩展的高展的高级控件。控件。本本节将重点引将重点引见VisualBasic6.0的高的高级控件控件组。首先引首先引见添加高添加高级控件的步控件的步骤。在。在VisualBasic6.0的的工具箱中添加高工具箱中添加高级控件的方法是:建立控件的方法是:建立“规范范EXE工程工程后,利用增添后,利用增添“部件的方法将部件的方法将ADO控件添加到工具箱中,控件添加到工具箱中,详细操作方法是从如操作方法是从如图5-15所示的所示的“工程子菜工程子菜单中中选择“部件部件O选项,弹出如出如图5-16所示的所示的“部件部件对话框,在框,在“控件控件标签页选中中“MicrosoftWindowsCommonControls6.0选项,单击“运用按运用按钮后,高后,高级控件被添加到工具箱中。控件被添加到工具箱中。图5-15 “5-15 “工程子菜工程子菜单图5-16 “5-16 “部件部件对话框框下面本章主要引见各控件的属性以及运用方法。下面本章主要引见各控件的属性以及运用方法。一、进度条控件一、进度条控件ProgressBarProgressBar进度条控件进度条控件ProgressBarProgressBar用来指示事务处置的进程。该用来指示事务处置的进程。该控件经过在程度条中显示适当数目的矩形来指示进程的进控件经过在程度条中显示适当数目的矩形来指示进程的进度。进程完成时,进度栏被填满。进度栏通常用于协助用度。进程完成时,进度栏被填满。进度栏通常用于协助用户了解等待一项长时间的进程例如,加载大文件完成户了解等待一项长时间的进程例如,加载大文件完成所需的时间。所需的时间。ProgressBarProgressBar控件的主要属性如表控件的主要属性如表5-25-2所示。所示。表表5-2 ProgressBar5-2 ProgressBar控件的属性控件的属性属性属性功能功能MaxMax获取或取或设置置进度条取度条取值的最大的最大值MinMin获取或取或设置置进度条取度条取值的最小的最小值ValueValue获取或取或设置置进度条的当前位置度条的当前位置OrientationOrientation0 0ccOrientationHorizontalccOrientationHorizontal进度条以水平放度条以水平放置置1 1ccOrientationVerticalccOrientationVertical垂直放置垂直放置ScrollingScrolling0 0ccScrollingStandardccScrollingStandard填充方式填充方式为虚虚线填充填充1 1ccScrollingSmoothccScrollingSmooth实线填充填充ValueValue获取或取或设置置进度度栏的当前位置的当前位置VisibleVisible决定决定进度条是否可度条是否可见ProgressBarProgressBar控件的常用事件是控件的常用事件是ClickClick、MouseDownMouseDown、MouseMoveMouseMove。例题例题5-15-1设计一个电子时钟程序,运用了进度条控件,分别设计一个电子时钟程序,运用了进度条控件,分别显示小时、分钟和秒的进度。显示小时、分钟和秒的进度。操作步骤如下:操作步骤如下:1. 1. 首先运转首先运转VBVB,然后新建一个工程工程类型为规范,然后新建一个工程工程类型为规范EXEEXE,按照表按照表5-35-3所示设置该窗体及其控件的属性。所示设置该窗体及其控件的属性。表表5-3 5-3 窗体及其控件属性表窗体及其控件属性表控件控件属性属性属性属性值Form1Form1CaptionCaption电子子时钟Label1Label1CaptionCaption置空置空Label2Label2CaptionCaption置空置空Frame1Frame1CaptionCaption北京北京时间ProgressBar1ProgressBar1OrientationOrientation1 1ccOrientationVerticalccOrientationVerticalMaxMax3030ProgressBar2ProgressBar2OrientationOrientation1 1ccOrientationVerticalccOrientationVerticalMaxMax7070ProgressBar3ProgressBar3OrientationOrientation1 1ccOrientationVerticalccOrientationVerticalMaxMax7070Timer1Timer1IntervalInterval100010002.2.按照表按照表5-35-3所示设置各个控件的属性后,适当的所示设置各个控件的属性后,适当的调整各控件的大小和位置,完成后得到如图调整各控件的大小和位置,完成后得到如图7-47-4所所示主界面图。示主界面图。图图5-17 5-17 电子时钟初始界面电子时钟初始界面编写代码如下:编写代码如下:Private Sub Form_Load()Private Sub Form_Load()Label1.Caption = Label1.Caption = Label2.Caption = Format(Date, yyyyLabel2.Caption = Format(Date, yyyy年年mmmm月月dddd日日) ) 格式化当前的时间,作为窗体的标题格式化当前的时间,作为窗体的标题End SubEnd SubPrivate Sub Timer1_Timer()Private Sub Timer1_Timer()Dim xs, fz, ma As LongDim xs, fz, ma As Longxs = Hour(Time) xs = Hour(Time) 获得小时数获得小时数fz = Minute(Time) fz = Minute(Time) 获得分钟数获得分钟数ma = Second(Time) ma = Second(Time) 获得秒数获得秒数ProgressBar1.Value = xs ProgressBar1.Value = xs 设置设置ProgressBarsProgressBars的值的值ProgressBar2.Value = fzProgressBar2.Value = fzProgressBar3.Value = maProgressBar3.Value = maLabel1.Caption = xs & Label1.Caption = xs & 时时 & fz & & fz & 分分 & ma & & ma & 秒秒 显示时间显示时间End SubEnd Sub运转程序,如图运转程序,如图5-45-4是播放后界面。是播放后界面。图5-18 电子时钟运转界面二二. .图像列表控件图像列表控件ImageListImageList图像列表控件图像列表控件ImageListImageList用于保管图像,并将其存储用于保管图像,并将其存储的图像提供应其它控件运用。如的图像提供应其它控件运用。如TreeView TreeView 、ListViewListView和和ToolbarToolbar控件等。控件等。ImageListImageList控件的主要属性如表控件的主要属性如表5-45-4所示。所示。表表5-4 ImageList5-4 ImageList控件的属性控件的属性属性属性功能功能ImageHeigImageHeightht定定义该控件中控件中图像的高度像的高度ImageWidtImageWidth h定定义控件中控件中图像的像的宽度度IndexIndex控件数控件数组下下标ListImageListImages s返回返回该控件中由控件中由IndexIndex指定的指定的图像像ImageListImageList控件没有常用事件与之联络,它在运转期控件没有常用事件与之联络,它在运转期间是不可见的。间是不可见的。 三. TreeView控件 TreeView控件用于显示分级的数据,例如组织树,磁盘上的文件和目录。一个TreeView控件的信息都与Node对象的等级体系构造向关联,每个Node对象包含了一个标签和可选的点位图。TreeView控件通常用于显示文档头、索引中的条目、磁盘上的文件和目录或者可以显示为等级构造的各种其他信息。 TreeView控件的主要属性如表5-5所示。表表5-5 TreeView5-5 TreeView控件的属性控件的属性属性属性功能功能ImageListImageList获取或取或设置与本控件相置与本控件相联系的系的ImageListImageList控件控件IndentationIndentation设置各个新的置各个新的NodeNode子子节点点缩进量量LabelEditLabelEdit0 0tvwAutomatictvwAutomatic自自动修改各修改各节点上的文本点上的文本1 1tvwManualtvwManual手工修改各手工修改各节点上的文本点上的文本LineStyleLineStyle0 0tvwTreeLinestvwTreeLines1 1tvwRootLinestvwRootLinesNodesNodes控件中的控件中的节点集合引用点集合引用 StyleStyle指明控件中指明控件中NodeNode对象象显示的示的类型。型。 可以可以选择是否是否显示示图像像, ,线条条,加号加号/ /减号等。它共有减号等。它共有8 8个属性个属性值,一般一般选用用7 7tvwTreelinesPlusMinusPictureTexttvwTreelinesPlusMinusPictureText,即,即显示子示子线条、加减条、加减图像和文本像和文本TreeViewTreeView控件的常用事件是控件的常用事件是AfterLabelEditAfterLabelEdit、,、,BeforeLabelEditBeforeLabelEdit、CollapseCollapse、ClickClick、DblClickDblClick、NodeClickNodeClick、MouseDownMouseDown、MouseMoveMouseMove事件。事件。例题例题5-25-2设计一个数形构造,显示学院各系分支。设计一个数形构造,显示学院各系分支。操作步骤如下:操作步骤如下:首先运转首先运转VBVB,然后新建一个工程工程类型为规范,然后新建一个工程工程类型为规范EXEEXE,从工具箱中引入,从工具箱中引入TreeViewTreeView控件。控件。编写代码如下:编写代码如下:Private Sub Form_Load() Dim abc As Node Set abc = TreeView1.Nodes.Add(, , gfn, GFXY学院南校区) Set abc = TreeView1.Nodes.Add(gfn, tvwChild, dz, 电子工程系) Set abc = TreeView1.Nodes.Add(dz, tvwChild, 软件技术) Set abc = TreeView1.Nodes.Add(dz, tvwChild, 计算机网络技术) Set abc = TreeView1.Nodes.Add(dz, tvwChild, 运用电子技术) Set abc = TreeView1.Nodes.Add(dz, tvwChild, 电气自动化技术) Set abc = TreeView1.Nodes.Add(dz, tvwChild, 机电一体化技术) Set abc = TreeView1.Nodes.Add(gfn, tvwChild, jx, 机械工程系) Set abc = TreeView1.Nodes.Add(jx, tvwChild, 数控技术) Set abc = TreeView1.Nodes.Add(jx, tvwChild, 模具设计与制造) Set abc = TreeView1.Nodes.Add(jx, tvwChild, 计算机制造与自动化) Set abc = TreeView1.Nodes.Add(jx, tvwChild, 汽车检测与维修技术) Set abc = TreeView1.Nodes.Add(, , gfb, GFXY学院北校区) Set abc = TreeView1.Nodes.Add(gfb, tvwChild, jg, 经济管理系) Set abc = TreeView1.Nodes.Add(jg, tvwChild, 电子商务) Set abc = TreeView1.Nodes.Add(jg, tvwChild, 会计电算化) Set abc = TreeView1.Nodes.Add(jg, tvwChild, 市场营销) Set abc = TreeView1.Nodes.Add(gfb, tvwChild, rh, 热化工程系) Set abc = TreeView1.Nodes.Add(rh, tvwChild, 精细化学品消费技术) Set abc = TreeView1.Nodes.Add(rh, tvwChild, 运用化学技术) Set abc = TreeView1.Nodes.Add(rh, tvwChild, 石油化工消费技术) abc.EnsureVisibleEnd Sub图图5-19 5-19 程序运转结果程序运转结果 图5-20 程序展开运转结果四、四、ListViewListView控件控件ListViewListView控件可有控件可有4 4种不同的种不同的视图显示方法,跟示方法,跟“资源源管理器里的管理器里的“查看方式看方式类似,分似,分为无无图标、小、小图标、列表、列表、报表式表式视图显示方法。运用哪种示方法。运用哪种视图,可,可由由该控件的控件的viewview属性属性设置控制。其中置控制。其中“报表表视图用用来来显示示记录数据很适宜。数据很适宜。ListViewListView控件的主要属性如表控件的主要属性如表5-65-6所示。所示。表表5-6 ListView5-6 ListView控件的属性控件的属性属性属性功能功能AllowColumnReorAllowColumnReorderder属性属性值设置置时,用,用户可以用鼠可以用鼠标选中中1 1列拖至其他地方列拖至其他地方进行重新排列行重新排列CheckboxesCheckboxes属性属性值设置置为TrueTrue时,每一行数据前将,每一行数据前将显示一复示一复选框框LabelWrapLabelWrap属性属性值设置置为TrueTrue时,文本,文本标签超出列超出列宽时可可换行行MultiSelectMultiSelect属性属性值设置置为TrueTrue时,允,允许用用户在本控件中作多重在本控件中作多重选择SelectedItemSelectedItem返回返回对所所选ListItemListItem对象(行)的引用象(行)的引用SortedSorted属性属性值设置置为TrueTrue时,列表按字母排序,列表按字母排序ViewView0 0IvwReportIvwReport无无图标(默(默认)1 1IvwIconIvwIcon小小图标视图显示示2 2IvwSmallIconIvwSmallIcon列表列表3 3IvwListIvwList报表表ListViewListView控件的常用事件是控件的常用事件是AfterLabelEditAfterLabelEdit、BeforeLabelEditBeforeLabelEdit、ClickClick、DblClickDblClick、ItemClickItemClick事件。事件。其中其中AfterLabelEditAfterLabelEdit表示当编辑当前选择的列表对象之表示当编辑当前选择的列表对象之后完成的事件。其中后完成的事件。其中BeforeLabelEdit BeforeLabelEdit 表示当编辑当前表示当编辑当前选择的列表对象之前完成的事件。选择的列表对象之前完成的事件。例例题5-35-3设计一个一个类似于似于WindowsWindows操作系操作系统下下“我的我的电脑的窗口。的窗口。操作步操作步骤如下:如下:1. 1. 首先运首先运转VBVB,然后新建一个工程工程,然后新建一个工程工程类型型为规范范EXEEXE,在窗体中添加,在窗体中添加1 1个个ImageListImageList控件,控件,1 1个个ListViewListView控件,控件,2 2个个OptionOption控件。按下面步控件。按下面步骤设置各控件的属性:置各控件的属性:1 1设置置Form1Form1的的CaptionCaption的属性的属性为“我的我的电脑。2 2设置置Option1Option1控件的控件的CaptionCaption的属性的属性为“陈列列图标,Option2Option2控件的控件的CaptionCaption的属性的属性为“打乱打乱图标。3 3设置置ListViewListView控件的属性,在控件的属性,在该控件上控件上单击鼠鼠标右右键,弹出出“属性属性页对话框。框。选择如如图5-215-21所示所示“图像列像列表表选项卡中的卡中的“普通列表框,普通列表框,设置置为ImageList1ImageList1,其,其它它值默默许。4 4设置置ImageListImageList控件的属性,在控件的属性,在该控件上控件上单击鼠鼠标右右键,弹出出“属性属性页对话框。框。选择如如图5-225-22所示所示“图像像选项卡中的卡中的“插入插入图片按片按钮,插入,插入6 6个个图标按按钮。图5-21 “5-21 “图像列表像列表选项卡卡 图5-225-22所示所示“图像像选项卡卡2.2.编写代码如下:编写代码如下:Private Sub Form_Load() Dim abc As ListItem 初始化初始化ListView Set abc = ListView1.ListItems.Add(, yd, 挪挪动硬硬盘, 1) Set abc = ListView1.ListItems.Add(, dy, 打印机打印机, 2) Set abc = ListView1.ListItems.Add(, hs, 回收站回收站, 3) Set abc = ListView1.ListItems.Add(, ie, Internet Explorer, 4) Set abc = ListView1.ListItems.Add(, gq, 光光驱, 5) Set abc = ListView1.ListItems.Add(, wl, 网上网上邻居居, 6)End SubPrivate Sub ListView1_BeforeLabelEdit(Cancel As Integer)Private Sub ListView1_BeforeLabelEdit(Cancel As Integer)Cancel = True Cancel = True 运用运用户不能不能编辑列表列表项中的中的文本文本End SubEnd SubPrivate Sub Option1_Click()Private Sub Option1_Click()ListView1.Arrange = lvwAutoTop ListView1.Arrange = lvwAutoTop 列表列表项按向上的方式按向上的方式陈列列End SubEnd SubPrivate Sub Option2_Click()Private Sub Option2_Click()ListView1.Arrange = lvwNone ListView1.Arrange = lvwNone 列表列表项不不陈列列End SubEnd Sub3. 3. 程序运转结果如图程序运转结果如图5-235-23所示。所示。5-23程序运转结果图五、工具条控件五、工具条控件ToolbarToolbar工具条控件工具条控件ToolbarToolbar用来在窗体上产生具有按钮对象用来在窗体上产生具有按钮对象的工具栏,按钮上可显示文字、图像或者两者兼有。的工具栏,按钮上可显示文字、图像或者两者兼有。ToolbarToolbar控件的主要属性如表控件的主要属性如表5-75-7所示。所示。表表5-7 Toolbar5-7 Toolbar控件的属性控件的属性属性属性功能功能AlignAlign设置控件的位置,有置控件的位置,有5 5个个值,分,分别设置置该控件放置在窗体的上部、控件放置在窗体的上部、下部、左部或者右部下部、左部或者右部ButtonButton使用本控件的使用本控件的ButtonButton对象集合象集合ImageListImageList获取或取或设置与本控件相置与本控件相联系的系的ImageListImageList控件控件IndexIndex设置控件数置控件数组的的标识号号TooTipTexTooTipText t设置当鼠置当鼠标指指针在工具在工具栏按按钮上上暂停停时的提示文本的提示文本ShowTipsShowTips设置是否置是否显示工具示工具栏按按钮上的提上的提示文本示文本 Toolbar控件的常用事件是Click、ButtonClick。其中ButtonClick事件表示当单击本控件上的一个按钮时,该事件过程被执行。 例题5-4在窗体上设计一个工具条,实现相应的功能。操作步骤如下: 1. 1. 首先运首先运转VBVB,然后新建一个工程工程,然后新建一个工程工程类型型为规范范EXEEXE,在窗体中添加,在窗体中添加1 1个个ImageListImageList控件,控件,1 1个个ToolbarToolbar控控件,件,1 1个个LabelLabel控件,控件,1 1个个TextText控件。按下面步控件。按下面步骤设置各控置各控件的属性:件的属性: 1 1设置置Label1Label1的的CaptionCaption的属性的属性为“置空。置空。2 2设置置Text1Text1的的CaptionCaption的属性的属性为“置空。置空。3 3设置置ImageListImageList控件的属性,插入控件的属性,插入4 4个个图标按按钮。4 4个个图标按按钮的的“关关键字分字分别设置置为“wb“wb、“sj“sj、“rq“rq和和“tc“tc。提示:提示:图像列表控件像列表控件ImageListImageList的的详细运用方法运用方法请见本章例本章例题5-35-3。4 4设置置ToolbarToolbar控件的属性,在控件的属性,在该控件上控件上单击鼠鼠标右右键,弹出出“属性属性页对话框。框。选择如如图5-245-24所示所示“通用通用选项卡卡中的中的“图像列表列表框,像列表列表框,设置置为ImageList1ImageList1。5 5选择如如图5-255-25所示所示“按按钮选项卡,首先卡,首先单击“插入插入按按钮后,后,“索引文本框中出索引文本框中出现数字数字1 1,其他,其他输入框也入框也变为可用。接着在可用。接着在“关关键字文本框中字文本框中输入入“wb“wb,“工工具提示文本框文本框中具提示文本框文本框中输入入“显示文本,示文本,“图像文像文本框中本框中输入入1 1,即,即ImageList1ImageList1控件的第一个控件的第一个图形作形作为按按钮1 1的的图形。反复上述步形。反复上述步骤,添加,添加4 4个按个按钮到工具到工具栏上,并上,并设置相置相应的属性。的属性。6 6各控件的属性各控件的属性设置完成后,第一个按置完成后,第一个按钮显示示“显示示文本,第二个按文本,第二个按钮显示示“系系统时间,第三个按,第三个按钮显示示“系系统日期,第四个按日期,第四个按钮显示示“退出。退出。图5-24 “5-24 “通用通用选项卡卡 图5-25 “5-25 “按按钮选项卡卡2.2.编写代码如下:编写代码如下:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case wb Label1.Caption = 提示信息:提示信息: Text1.Text = Visual Basic6.0欢迎您!欢迎您! Case sj Label1.Caption = 系统时间:系统时间: Text1.Text = Time Case rq Label1.Caption = 系统日期:系统日期: Text1.Text = Date Case tc Label1.Visible = False Text1.Visible = False abc = MsgBox(退出系统吗?退出系统吗?, vbYesNo + 48, 退出退出) If abc = vbYes Then End End If End SelectEnd Sub3. 3. 程序运转结果如图程序运转结果如图5-265-26所示。所示。图5-26程序运转结果 小结 本章从较简单的菜单设计着手,逐渐引入微软所提供的高级控件组,目的是让读者可以经过对本章的学习,设计较为友好的用户界面。本章对TreeView控件和ListView控件进展了重点引见,由于这两个控件可以支持理想的图形化界面设计,尤其是TreeView,该控件和XML的构造非常匹配。置信读者熟练掌握本章的高级控件组后,可以设计出赏心顺眼的软件界面,加强软件的生命力。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号