Visual-Basic程序设计综合教程第8章-应用界面设计_第1页
Visual-Basic程序设计综合教程第8章-应用界面设计_第2页
Visual-Basic程序设计综合教程第8章-应用界面设计_第3页
Visual-Basic程序设计综合教程第8章-应用界面设计_第4页
Visual-Basic程序设计综合教程第8章-应用界面设计_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章 应用界面设计 用户界面是应用程序的重要组成部分之一,一个设计良好的应用程序,其可用性很大程度上取决于程序界面的清晰和各种功能布局的合理。VB除了提供了一些标准常规控件外,还提供了菜单和大量的ActiveX高级控件。合理利用这些控件,可以使应用程序更加符合Windows的风格,同时也具有灵活性和便捷性。 本章将介绍VB用户界面设计的高级技术,主要包括菜单栏、工具栏、状态栏和通用对话框,它们都是构成应用程序界面的重要组成部分。【主要内容】 菜单编辑器的使用 下拉式菜单与弹出式菜单的建立 工具栏与状态栏的使用 通用对话框的使用8.1 引例8.2 设计菜单8.3 工具栏和状态栏8.4 通用对话

2、框本章小结【例8.1】设计一个简单的菜单应用程序,通过使用菜单操作完成程序中的打开“文件”对话框的功能,程序运行结果如图8.1(a),图8.1(b)所示。 8.1 引例图8.1(a) 【例8.1】运行结果a图8.1(b) 【例8.1】运行结果b操作步骤:(1)设计用户界面 根据图8.1(a)的要求此程序要求设计菜单,在VB中,菜单被看作是一种特殊类型的控件:菜单控件。菜单中的每一个菜单项,都是独立的菜单控件对象。在窗体上添加菜单需要使用“菜单编辑器”。选择“工具”菜单中的“菜单编辑器”命令,调出“菜单编辑器”,如图8.1(c)所示。图8.1(c) “菜单编辑器”对话框 在“菜单编辑器”中进行相

3、应的设置,在“标题”文本框中输入“文件(&F),在“名称”文本框中输入file,完成“文件”菜单的创建。单击“下一个”在“标题”文本框中输入“新建(&N)”,在“名称”文本框中输入Newfile,并在“快捷键”列表框中选择Ctrl+N。通过“”和“”按钮来改变菜单的层次。由于“新建”菜单项是“文件”菜单的一级子菜单,因此在完成上述设置之后,应单击右箭头“”,这时“新建”菜单项前面会出现“.”,成为“文件”菜单下的一级子菜单。用同样的方法输入如图8.1(d)所示内容,注意每个菜单项都要有相应的名称,以方便在编写代码时调用。对于“编辑”、“格式”、“查看”和“帮助”只设置其主菜单项即可。图8. 1

4、(d) 菜单编辑器设置 程序中还使用了“打开”文件对话框,在VB中这一功能可利用通用对话框控件(CommonDialog)来实现。具体操作步骤如下 :A 执行“工程”菜单中的“部件”命令,打开如图8.1(e)所示“部件”对话框。 图8.1(e) “部件”对话框B 在“部件”中对话框选择“控件”选项卡,然后在控件列表框中选择“Microsoft Common Dialog Control 6.0”。C 单击“确定”按钮,通用对话框被添加到工具箱中,如图8. 1(f)所示。 通用对话框控件图8.1(f) 通用对话框 将通用对话框控件放置到窗体上任意位置(运行时此控件不可见),设置通用对话框name

5、属性为Cd1。选中通用对话框控件单击右键出现如图8.1(g)所示“属性”对话框。图8.1(g) “属性页”对话框 进行如图8.1(h)所示最简单的设置,要求初始化路径为E:盘根目录,单击“确定”,最后在窗体上添加一文本框即可。图8.1(h) “属性页”对话框设置(2)代码编写 在图8.1(i)所示界面,选择“文件”中的“打开”双击,进入代码编写窗口,编写如代码:图8.1(i) 程序运行前界面Private Sub file_open_Click() file_open是“文件”“打开”菜单的名字 Cd1.ShowOpen Cd1是通用对话框的nameEnd Sub 运行程序后,单击窗体上的“文

6、件”,出现图8.1(a)所示运行界面,单击“打开”或直接按“O”键,出现图8.1(b)所示运行界面。 说明:(1)VB中制作菜单是使用菜单编辑器来实现的,具体有关菜单编辑器的使用将在本章做详细讲解。(2)“通用对话框”仅用于应用程序与用户之间的信息交互,是输入输出的界面,不能实现打开文件。如果想要实现这些功能需要编写相应程序。(3)“通用对话框”还可以进行其它的设置,本章将进行一一讲解。8.2.1 菜单编辑器的使用8.2.2 运行时改变菜单属性8.2.3 弹出式菜单 8.2 设计菜单8.2 设计菜单 在Windows环境下,几乎所有的软件都有菜单,菜单是将应用程序所能完成的任务有机的组织起来以

7、方便用户的使用。而且这些菜单从构成、组织到操作方法甚至快捷键都非常相似。用户界面是否友好是衡量一个应用软件开发水平的重要标志,而菜单是用户界面的重要组成部分。 菜单最大特点是把程序的功能以菜单的形式列出,用户需要的时候可以选择使用。对于可视语言来说,菜单的设计要简单和直观得多,全部设计都在一个窗口内完成。利用这个窗口,可以建立下拉式菜单,最多可达6层。每一个菜单项对应于一段程序的执行,类似于执行一个命令。VB支持Windows的下拉式和弹出式两种类型的菜单。 以一个简单的应用程序的界面为例,介绍组成菜单的基本元素(如所示)。菜单栏由多个菜单名(也叫主菜单)组成,如“文件”、“编辑”等都是菜单标

8、题。某一个菜单标题下拉出一个菜单,包含一个或者多个菜单项,如图8.2 所示。图8.2 菜单的组成元素菜单标题菜单栏快捷键菜单项分隔线8.2.1 菜单编辑器的使用 VB中的菜单通过菜单编辑器,即菜单设计窗口建立。可以通过以下4种方式进入菜单编辑器:1 打开“工具”菜单,选择“菜单编辑器”;2 单击工具栏中的“菜单编辑器”按钮;3 使用快捷键Ctrl+E;4 在要建立菜单的窗体上单击鼠标右键,将弹出一个菜单,如图8.3所示,然后单击“菜单编辑器”命令。图8.3 用弹出式菜单打开菜单编辑器窗口 使用上面4种方法中的一种,打开菜单编辑器窗口如图8.1(c)所示,具体内容如下:(1)标题 “标题”框用于

9、设置在菜单栏上显示的文本。如果菜单打开的是一个对话框,在标题文本后面应加“”如果菜单要通过键盘来执行相应操作,使某一字符成为该菜单项的访问键,可以用“(&+访问字符)”的格式,访问字符一般是菜单标题的第一个字母,或者是别的更易记的字符,两个同级菜单项不能用同一个访问字符。在运行时访问字符会自动加上一条下划线,“&”字符则不可见。如图8.1(d)所示的,按Alt+F可打开“文件”菜单,再按“O”键就打开了“打开”菜单项。(2)名称 在“名称”文本框中,设置在代码中引用该菜单项的名字。菜单项名字应当唯一,但不同菜单中子菜单项可以重名。(3)快捷键 可以在快捷键组合框中输入快捷键,也可以选取功能键或

10、键的组合来设置。快捷键将自动出现在菜单上,要删除快捷键应选取列表项顶部的“(none)”。例如:为“新建”菜单项创建快捷键Ctrl+N,在运行时按Ctrl+N将实现与单击“新建”菜单项相同的操作。 菜单条上的第一级菜单不能设置快捷键。(4)其它属性 帮助上下文:指定一个唯一的数值作为帮助文本的标识符,可根据该数值在帮助文件中查找适当的帮助主题。 协调位置:与OLE功能有关,一般取0值。 复选(Checked)属性: 如果选中(),在初次打开菜单项时,该菜单项的左边显示“”。在菜单条上的第一级菜单不能使用该属性。 有效(Enabled)属性: 如果选中(),在运行时以清晰的文字出现;未选中则在运

11、行时以灰色的文字出现,不能使用该菜单项。 显示窗口列表(WindowList)属性: 当菜单要包括一个打开的所有MDI(多文档界面)子窗口的列表时,选中()此项。 (5)移动、插入、删除菜单项 当需要创建下一个子菜单时,可选取“下一个”或者单击“插入”按键。单击“”按钮,缩进级前加四个点();单击“”按钮则删除一个缩进级。 “”或“”按钮:上移或者下移所选菜单项。 “插入”和“删除”按钮:插入和删除菜单项。 (6)分隔条 分隔条为菜单项间的一个水平线,当菜单项很多时,可以使用分隔条将菜单项划分成一些分组。 如果想增加一个分隔条,选取“插入”,在“标题”文本框中键入一个连字符“-”。虽然分隔条是

12、当作菜单控件来创建的,但不能被选取。8.2.2 运行时改变菜单属性1、使菜单命令有效或无效 所有的菜单项都具有Enabled属性,Enabled属性默认值为True(有效)。当Enabled属性设为False时,菜单项会变暗,菜单命令无效不响应动作,快捷键也无效。若上级菜单无效则整个下拉菜单无效。2、 显示菜单控件的复选标志 使用菜单项的Ckecked属性,可以设置复选标志,如果Checked属性为Ture表示含有复选标志。如图8.4所示,单击“标尺”可将显示标记显示或删除。假设“标尺”项的name属性值为“Biaochi”则有 :Private Sub Biaochi_Click() Bia

13、oc.Checked=Not Biaoc.CheckedEnd Sub图8.4 复先选标志示例3、 使菜单控件不可见 在运行时,要使一个菜单项不可见或可见,可以从代码中设置其Visible属性。当下拉菜单中的一个菜单项不可见时,则其余菜单项会上移以填补空出的空间。如果菜单条上的菜单项不可见,则菜单条上其余的控件会左移以填补该空间。 使菜单不可见也产生使之无效的作用,通过菜单、访问键或者快捷键都无法访问该控件。 4、运行时添加菜单项 运行时可以添加菜单项,例如,VB的“文件”菜单就是根据打开的工程名添加菜单,显示出最近打开过的工程名,如图8.5所示。图8.5运行添加菜单项示例运行时添加菜单项 添

14、加菜单项必须使用控件数组。为了在运行时可以添加菜单项,在设计时必须设置该菜单项的Index属性为0,使它自动地成为控件数组的一个元素,同时也创建了一个在运行时不可见的分隔条。 如果要添加或删除一个控件数组中的菜单控件,可以使用Load或Unload语句。 【例8.2】设计一个简单的记事本,程序启动“编辑”菜单中的“粘贴”菜单项不可用,当用户在文本框中输入内容后,单击“编辑”菜单下的“剪切”或“复制”菜单项,或使用对应的快捷方式,可完成相应的功能,同时“粘贴”菜单项变为可用状态。运行结果如图8.6(a)所示。图8.6(a)【例8.2】运行结果a主菜单为“文件”、“编辑”和“帮助”。(1)设计用户

15、界面 本例界面由两部分组成:一个是菜单栏,另一个是文本框。文件的菜单项同【例8.1】,为新建、打开、保存、另存为、分隔线、页面设置、打印、分隔线、退出,帮助菜单中的菜单项为索引、内容、向导、分隔线、关于等。 设计编辑菜单为剪切、复制、粘贴,实现对记事本中选定的文档进行操作。注意根据题目要求在菜单编辑器中进行菜单设计时,要将“粘贴”菜单项的“有效”复选标记“”去掉。剪切、复制、粘贴三者的名称分别为:EditCut、 EditCopy 、EditPaste,文本框的MultiLine属性值设为True。 说明:这个程序中的编辑功能是Windows程序中常用的功能。Windows提供了一个剪切板对象

16、Clipboard,使用鼠标选择的文本通过程序“复制”或“剪切”操作,选择的文本(或对象)被放置在Clipboard上。其中 (1)Clipboard.Clear是清除剪贴板上的信息。 (2)Clipboard.SetText是指定的Clipboard对象格式将文本字符串放到Clipboard上。 (3)Clipboard.GetText是从Clipboard返回一个文本字符串 。通过本例的学习,希望读者注意以下知识点的应用:菜单编辑器的使用:首先是启动菜单编辑器,然后是菜单编辑器中具体内容的设置(主要包括以下内容:标题、名称、快捷键、复选(Checked)属性、有效(Enabled)属性、移

17、动、插入、删除菜单项和分隔条的设置)。运行时改变菜单属性:最常用的有在运行过程中使菜单命令有效或无效和显示菜单控件的复选标志,本例中对菜单项“粘贴”命令在程序运行过程中使用了动态变化。分隔条的使用:分隔条是菜单中特殊的菜单项,该菜单项不能响应Click事件,也不能被选取。分隔条作为菜单项间的一个水平行显示在菜单上,可以使用分隔条菜单项将各菜单项划分成一些逻辑组。如果想增加一个分隔条,选取“插入”,在“标题”文本框中键入一个连字符“-”, 为其命名唯一的名称。学会剪切板的使用。8.2.3 弹出式菜单 弹出式菜单又称为快捷菜单,弹出式菜单是当单击鼠标右键时出现的菜单,是显示在窗体上独立于菜单的浮动

18、式菜单,弹出式菜单显示的菜单项取决于鼠标右键按下时鼠标指针所在的位置。本节通过一个实例介绍弹出式菜单的设计过程。 【例8.3】为【例8.2】添加一个弹出式菜单,当用户在程序的窗体上右击时,将弹出该菜单,选择其中的菜单项,能够实现相应的功能,如图8.7(a)所示。图8.7(a) 【例8.4】运行结果1设计过程如下:(1)弹出式菜单的设计 使用“菜单编辑器”创建菜单。将顶级菜单项设为不可见。如图8.7(b)所示。图8.7(b)【例8.3】中的菜单编辑器编写相应于弹出菜单关联的(释放鼠标)事件代 码。VB提供了PopuMenu方法来显示弹出式菜单。该方法的格式为:对象.PopupMenu 菜单名,位

19、置常数,横坐标,纵坐标或者使用调用的方法,格式为: Call PopupMenu(菜单名称)因为弹出式菜单被定义为使用鼠标右键,因此使用MouseDown事件判断是不是鼠标右键被按下,如果“是”通过PopupMenu“弹出”菜单。(2)代码编写 由于弹出式菜单是作用在文本框中,所示代码必须是在文本框的相关事件中编写。Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 Then PopupMenu PopUpEnd SubPrivate Su

20、b PopCopy_Click()Clipboard.SetText Text1.SelText将文本框Text1中选定的内容复制到剪切板中PopPaste.Enabled = TrueEnd SubPrivate Sub PopCut_Click()Text1.SelText = 将文本框Text1中选定的内容删除PopPaste.Enabled = True使粘贴菜单项变为有效End SubPrivate Sub PopPaste_Click()Text1.SelText = Clipboard.GetText将剪切板中的数据显示在文本框Text1中End Sub(3)运行结果运行程序后,

21、在文本框中输入内容,当没有进行“剪切”或“复制”操作时,“粘贴”不可选如图8.7(a)所示,选中一段字符,进行了“剪切”操作,则“粘贴”可用,结果如图8.7(c)所示。 图8.7(c) 【例8.3】运行结果2 工具栏与状态栏是 Windows应用程序界面常见的组成部分。 工具栏由多个按钮构成,它提供了对于应用程序中最常用的菜单命令的快速访问方式。每个按钮一般对应菜单中的一项。而状态栏主要是用于显示应用程序的运行状态。 8.3.1 工具栏8.3.2 状态栏8.3 工具栏和状态栏8.3.1 工具栏 工具栏由若干个按钮组成,每个按钮上一般都有图片,从而形象地表明该按钮的作用,当鼠标指向某个按钮时,还

22、会出现文本提示以说明该按钮的功能。 为窗体添加工具栏,应使用工具条(Toolbar)控件和图像列表(ImageList)控件。Toolbar和ImageList控件是Active控件的一部分,而不是VB的内部控件,因此,在使用时必须将文件MSCOMTL.OCX添加到工程中。创建工具栏的步骤: (1)添加MSCOMCTL.OCX文件,用鼠标右键单击控件箱,选择快捷菜单中的“部件”命令,在如图8.8 所示的“控件”选项卡中选择“Microsoft Windows Connon Controls 6.0”,然后单击“确定”按钮,则在控件箱中就出现了ImageList 和Toolbar控件 。图8.8

23、 “部件”对话框(2)创建ImageList控件作为要使用的图形的集合。(3)创建Toolbar控件,将Toolbar控件与ImageList控件相关联,创建Button对象。(4)在ButtonClick事件中添加代码。 。 【例8.4】 以【例8.3】为基础,为应用程序添加工具栏,创建如图8.9(a)所示运行界面。先从“部件”中添加“MSCOMCTL.OCX”文件然后执行具体步骤如下:图8.9(a) 工具栏示例1、 创建ImageList控件 ImageList控件的作用像图像的储藏室,ImageList控件不能独立使用,它需要Toolbar控件来显示所储存的图像。 在设计时,将Image

24、List放置在窗体的任何位置,选中单击右键出现ImageList属性页,如图8.9(b)所示,按照需要将图像顺序插入到ImageList中。注意一旦ImageList关联到其他控件,就不能再删除或插入图像了。图8.9(b) ImageList控件属性页2 、将Toolbar控件与ImageList控件相关联 Toolbar控件包含了一个按钮(Button)对象集合,可以通过添加按钮(Button)对象来创建工具栏,Toolbar与ImageList控件关联的步骤如下:(1)创建一个Toolbar控件Toolbar。(2)用鼠标右键单击Toolbar控件出现弹出式菜单,选择“属性”命令,则出现“

25、属性页”。其中主要的属性有:“索引”文本框(对应Index属性)该属性是Buttons按钮集合的下标值,相当于按钮的序号。“标题”文本框(对应Caption属性)该属性用来设置或返回按钮的标题。“描述”文本框(对应Description属性)该属性用于返回或设置按钮的描述信息,其属性值为字符型。说明:如果按钮设置了该属性,则在程序运行过程中,双击工具栏,可以调出“自定义工具栏”对话框。该对话框会显示出所有按钮的描述内容,并可进行调整按钮的相对位置、重新设置或删除按钮,加入分割符操作。“关键字”文本框(对应Key属性)该属性与索引属性相似,也是与工具栏中的按钮对应的标识,用于通过Buttons集

26、合来访问工具栏中的按钮。该属性值为字符型,是可选项,其值可以为空。说明:在程序中设置该属性时,其字符串值必须用双引号括起来。“值”列表框(对应Value属性)该属性用于返回或设置按钮的状态。一般用于对开头按钮或编组按钮的初始状态进行设置。其属性值有以下两种。0tbrUnpressed:按钮未被按下,默认设置。1tbrPressed:按钮被按下。“样式”列表框(对应Style属性) 该属性用来设置按钮的样式。其属性值及含义如下表8.1所示。表8.1 Style属性的取值及含义常数值按钮说明tbrDefault0普通按钮按钮按下后恢复原态,如“新建”tbrCheck1开关按钮按钮按下后将保持按下状

27、态,如:加粗“tbrButtonGroup2编组按钮一组按钮同时只能一个有效,如“右对齐”tbrSeparator3分隔按钮宽度为8个象素的特殊按钮,只是用来把它左右的按钮分隔开来tbrPlaceholder4占位按钮用来安置其他控件,可设置按钮宽度(Width)tbrDropdown5菜单按钮具有下拉式菜单,如“字符缩放”按钮 “宽度”文本框(对应Width属性) 该属性用于设置上位按钮的宽度。其属性值为数值类型。“工具提示文本”列表框(对应ToolTipText属性) 该属性用于返回或设置按钮的提示信息。程序运行时,将鼠标指针移到按钮上时,会显示该文本框的文字信息。“图像”框(对应Imag

28、e属性) 该属性用于加载按钮上的图像。 (3)在“属性页”的“通用”选项卡图8.9(c)的“图像列表”中,单击下拉箭头,选择“ImageList1”。 图8.9(c) Toolbar属性页“通用”(4)将“属性页”切换到“按钮”选项卡,创建按钮(Button)对象,如图8.9(d)所示。图8.9(d) Toolbar属性页“按钮”(5)重复创建其他按钮。创建的工具栏如图8.9(a)所示。3 编写ButtonClick事件代码 ButtonClick事件是当单击工具栏上的某个按钮时触发的。例如:单击工具栏Toolbar1,通过按钮对象的索引(Index)属性来标识被单击的是哪个按钮。程序代码如下

29、:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Index Case 1 调用新建文件可使用的过程 Case 2 打开文件 Case 3 保存文件 省略 End Select End Sub说明,【例8.4】主要是工具栏的建立与使用,通过例题的学习读者应注意以下知识点:掌握工具栏的建立过程:首先是从“部件”中添加“MSCOMCTL.OCX”文件,从控件箱中将ImageList 和Toolbar控件添加到窗体,然后创建ImageList控件作为要使用的图形的集合、创建T

30、oolbar控件,将Toolbar控件与ImageList控件相关联、创建Button对象。最后在ButtonClick事件中添加代码。在工具栏的创建过程应注意ImageList 和Toolbar控件相关属性的设置。对于ButtonClick事件代码的编写,除了使用按钮的Index属性来标识工具按钮外,还可以使用Key属性值来检索Button对象,操作方法只是将索引值用Key所对应的属性值替换而已。 8.3.2 状态栏 在一般的Windows软件的主界面底部都有一个状态栏,用于反映程序执行时的各种状态数据。如:菜单命令的功能介绍、键盘的状态、软件的一些提示信息等等。在VB的软件设计中也可以设计

31、类似的状态栏。状态栏的设置是通过StatusBar控件来实现的。 状态栏控件由若干个称为Panel的对象构成,每一个Panel对象既能包含文本又能包含图片,Panel对象在状态栏中又称为窗格。在一个状态栏中最多可以包含16个这样的窗格,默认只有1个窗格。 【例8.5】为【例8.4】的简单记事本应用程序增加一个状态栏。该状态栏由4个窗格构成,它们分别显示当前记事本状态,系统当前的上日期与时间,如图8.10(a)所示。 图8.10(a) 状态栏示例1具体步骤如下:1 、状态栏的创建 在窗体上添加工具箱的StatusBar 控件:双击StatusBar,在窗体的底部就会出现一个状态栏。说明:状态栏控

32、件也包含在MSCOMCTL.OCX文件中,一般如果能创建工具栏即可创建状态栏。2 、状态栏的设置 状态栏的设置主要包括状态栏的外观设置、创建需要的窗格、设置窗格的属性等。选中单击右键则出现如图8.10(b)所示的对话框。图8.10(b) StatusBar属性页 选择“窗格”选项卡,单击“插入窗格”命令,依次添加4个“窗格”,第一个文本值为“文本编辑”,其它的均为空。样式值分别为0-sbrText(文本或位图),6-sbrDate(以System格式显示当前日期),5-sbrTime(以System格式显示当前时间),0-sbrText(文本或位图)。其它属性如图8.10(b)所示 。状态栏主

33、要属性如下:(1)“索引”(对应Index属性)和“关键字”(对应Key属性)文本框这两个属性的作用与工具栏相应属性基本相同,主要用来标识状态栏中不同的窗格。(2)“文本”框(对应Text)该属性用来在窗格中显示需要的信息。(3)“工具提示文本”(对应ToolTipText属性)文本框该属性用来返回或设置窗格中的提示信息,与工具栏相应选项的作用基本相同。(4)对齐”下拉列表(对应Alignment属性)该属性用来返回或设置窗体中的位置。其属性值有以下几种:0strLeft:文本在位图的左侧,以左对齐方式显示。1sbrCenter:文本在位图的右侧,以右对齐方式显示。2sbrRight:文本在位

34、图的左侧,以右对齐方式显示。(5)样式”下拉列表框(对应Style属性)该属性用来设置状态栏中显示信息的数据类型,其属性值有以下几种:0stText:文本或位图。1sbrCaps:显示Caps Lock的状态。2sbrNum:显示Num Lock的状态。3strIns:显示Insert键的状态。4sbrScrl:显示Scroll Lock的状态。5sbrTimet:以System格式显示当前时间。6strDate:以System格式显示当前日期。(6)“斜面”列表框(对应Bevel属性)该属性用来设置Panel对象的斜面样式。其属性值有以下几种:0stNoBevel:窗格暗淡无光平面样式。1s

35、brInsert:窗格显示凹进样式。2sbrRaised:窗格显示凸起样式。(7)“自动调整大小”列表框(对应AutoSize属性) 该属性用来设置状态栏是否能够自动调整大小。其属性值有以下几种:0strNoAutoSize:该窗格的宽度始终由Width属性指定。1sbrSpring:当父窗体大小改变,产生了多余的空间时,所有具有该属性设置的窗格均分空间,但宽度不会小于MinWidth属性指定的宽度。2sbrCentent:窗格的宽度与其内容自动匹配。 3 、在运行中设置状态栏 由于状态栏一般需要反映程序运行的一些状态数据,所以状态栏中相应窗格的内容显然是需要根据实际情况进行动态更新的。 状态

36、栏包含有一个窗格对象的集合Panels,该集合的成员是每个窗格。要引用某个窗格既可以通过窗格的索引值Index,也可以通过每个窗格的关键字Key。在第四个窗格中显示所选择的工具栏的项目,可使用如下程序:Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)Select Case Button.Index Case 1 StatusBar1.Panels(4) = Button.Key Case 2 StatusBar1.Panels(4) = Button.Key 打开文件 Case 3 StatusBar1.P

37、anels(4) = Button.Key 保存文件 、省略End Select End Sub本例主要是状态栏的建立与使用,通过【例8.5】的学习读者应注意以下知识点:状态栏的建立:设计时在窗体上增加Statusbar控件后,打开其“属性页”对话框,选择“窗格”标签,进行相应的设置,在运行过程中改变状态栏,本例主要是对于状态栏的第四个窗格,当单击工具栏上不同的按钮时,在第四个窗格内将显示不同的内容。8.4 通用对话框 在Windows及其系列应用软件中,有许多对话框外观及其操作都很相似,如:“打开”对话框、“另存为”对话框、“颜色”对话框、“字体”对话框、“打印”对话框等。实际上,VB也提供

38、了用来制作这些标准对话框的控件,这就是通用对话框控件(CommonDialog)。 8.4.1 通用对话框的使用与常用属性 8.4.2 “打开”对话框 8.4.3 “另存为”对话框 8.4.4 “颜色”对话框 8.4.5 “字体”对话框 8.4.6 “打印”对话框 8.4.7 “帮助”对话框8.4.1 通用对话框的使用与常用属性 CommonDialog控件是ActiveX控件,在使用之前必须将其加入到控件工具箱中。方法前面已提到,就是在控件工具箱上右击选择“部件”命令,弹出“部件”对话框,选中“Microsoft CommonDialog Control 6.0”,最后单击“确定”按钮。 添

39、加后,可以像常用控件一样在窗体上使用通用对话框控件。由于该控件仅在设计时可见,在运行时是不可见的。因此,可以将其放置在窗体的任意位置上,而且大小也不需要(也不能)调整。 CommonDialog 控件的属性很多,其属性设置的方法可以在“属性”对话框中进行,也可以右击窗体上的控件选择“属性”命令,此时屏幕上会弹出“属性页”对话框如图8.1(g)所示,通过该对话框对其进行属性设置。 在该对话框中有5个选项卡,每个选项卡代表着不同的对话框,它们有各自不同的属性,但有些属性是各个对话框所共有的,它们是:1 、Action属性: 通过在代码中设置不同的Action值可以产生不同的对话框。如果没有设置该属

40、性(默认值为0),运行时通用对话框不会产生任何信息,直到设置了该属性后才会出现相应的对话框。另外VB还提供了相应的方法来产生不同的对话框。Action属性值,方法与对话框的对应关系如表8.2所示。Action属性值产生的对话框对应的方法0无1“打开“文件对话框ShowOpen2“另存为”对话框ShowSave3“颜色”对话框ShowColor4“字体”对话框ShowFont5“打印”对话框ShowPrint6“帮助”对话框ShowHelp表8.2 Action属性值,方法与对话框的对应关系表 注意: 使用该控件所产生的对话框仅提供了人机信息交互的界面,并不能实现真正的操作(如打开、另存、打印等

41、),要想实现这些具体的操作必须进行相应的编程。2 、DialogTitle属性: 产生的对话框的标题文字,如不进行设置则会使用默认的标题。3、 CancelError属性: 在每个所产生的对话框上都有“取消”按钮,该属性决定程序运行时,用户单击了“取消”按钮后是否会产生出错信息。该属性取True时,单击“取消”按钮会产生一个错误信息,同时自动将Err对象的Number属性值设置为32755。程序中可以通过代码来访问这个属性以判断是否按下了“取消”按钮,以决定程序的走向。如果该属性值置为False(默认),则当单击“取消”按钮时,不会产生任何出错信息。8.4.2 “打开”对话框 “打开”对话框是

42、当通用对话框的Action属性设置为1时的对话框,如图8.11所示。 “打开”对话框充分利用了操作系统的功能,它可以遍历整个的磁盘目录结构,找到所需要的文件,并以“列表”或“详细资料”的方式显示出来。“打开”对话框,除了一些基本的属性设置外,主要还有以下4个很重要属性。图8.11 “打开”对话框示例1 文件名称(FileName属性) 该属性值为字符串类型,用于设置或得到用户所选定的文件名。即当程序执行时,用户选定的某个文件名将显示在“文件名”文本框中,同时此文件名及相关路径将以字符串的形式赋值给FileName属性。2 初始路径(InitDir属性) 该属性用来指定“打开”对话框中的初始目录

43、。默认设置显示当前目录。初始路径在设计时或代码编写中均可进行设置。例如: Cd1.InitDir=”D:论文” 将对话框的初始路径设为D盘“论文”文件夹3 文件类型(Filter属性) 通过Filter属性在“打开”对话框中设置文件的类型。该属性的值是一个字符串,由一组或多组文件类型表达式构成,每组代表一类文件。构成规则是: 类型说明字符串|类型通配表达式|类型说明字符串|类型通配表达式 类型说明字符串为对文件类型的说明,类型通配表达式表示需显示的文件类型,各组之间用“|”符号分开。例如:设置如图8. 12所示的结果,需要在“打开”对话框的“文件类型“列表框中只显示Word文档(扩展名为doc

44、)、和文本文件(txt),则Filter属性值应设置为:Cd1.Filter=”Word文档|*.doc| Excel文档|*.xls|文本文件|*.txt”图8.12 “通用对话框”的“Filter”属性示例4 过滤器索引(FilterIndes属性) 该属性用于表示用户在“文件类型”列表框中选定的文件类型的序号。例如与图8. 28所示相对应,Word文档的该属性值为1,Excel文档的该属性值为2,文本文件的该属性值为3。8.4.3 “另存为”对话框 “另存为”对话框是当通用对话框的Action属性为2时的对话框,如图8.14所示。 “另存为”对话框为用户在存储文件时提供了一个标准界面,供用户选择或键入所要存入文件的路径及文件名。 “另存为”对话框所涉及的属性与“打开”对话框基本相同,只是多了一个DefaultExt属性,该属性用来表示所存文件的默认扩展名。 图8.14 “另存为”对话框8.4.4 “颜色”对话框 “颜色”对话框是当通用对话框的Acti

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论