VB第8章电子讲稿资料_第1页
VB第8章电子讲稿资料_第2页
VB第8章电子讲稿资料_第3页
VB第8章电子讲稿资料_第4页
VB第8章电子讲稿资料_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、 本章主要内容 $8.1 通用对话框通用对话框 $8.2 菜单设计菜单设计 $8.3 多重窗体和多文档界面多重窗体和多文档界面 $8.4 工具栏和状态栏工具栏和状态栏 $8.5 RichTextBox控件控件 $8.6 应用程序向导应用程序向导第第8 8章章 界面设计界面设计 $8.1 $8.1 对话框对话框 对话框对话框(DialogBox)是应用程序与用户进行交互的是应用程序与用户进行交互的主要途径。主要途径。三种对话框:三种对话框: (1)预定义对话框预定义对话框(使用函数使用函数InputBox和和MsgBox来实来实现现) (2)通用对话框通用对话框 (3)用户自定义对话框用户自定义

2、对话框一、一、 通用对话框通用对话框 通用对话框是一种通用对话框是一种ActiveX控件,利用它能够很容易地创控件,利用它能够很容易地创建下列六种标准对话框:打开建下列六种标准对话框:打开(Open),另存为,另存为(Save As),颜色,颜色(Color),字体,字体(Font),打印机,打印机(Printer)和帮助和帮助(Help)对话框对话框 1添加通用对话框控件添加通用对话框控件 在使用之前,应选择在使用之前,应选择“工程工程”菜单中的菜单中的“部件部件”命令先将命令先将其添加到工具箱中其添加到工具箱中 当程序运行时,通用对话框是不可见的当程序运行时,通用对话框是不可见的 通用对话

3、框不仅本身具有一组属性,而且由它产生的各种标通用对话框不仅本身具有一组属性,而且由它产生的各种标准对话框也拥有许多特定属性。准对话框也拥有许多特定属性。 属性设置可以在属性窗口或程序代码中进行,也可以通过属性设置可以在属性窗口或程序代码中进行,也可以通过“属性页属性页”对话框来设置对话框来设置 2属性页属性页 3通用对话框的基本属性和方法通用对话框的基本属性和方法 (1)Name属性属性 (2)Action属性:该属性直接决定打开哪种对话框属性:该属性直接决定打开哪种对话框 对话框类型对话框类型 Action属性值属性值 方法方法 无对话框无对话框 0 打开打开”对话框对话框 1 ShowOp

4、en “另存为另存为”对话框对话框 2 ShowSave “颜色颜色”对话框对话框 3 ShowColor “字体字体”对话框对话框 4 ShowFont “打印打印”对话框对话框 5 ShowPrinter “帮助帮助”对话框对话框 6 ShowHelp 例如,利用通用对话框例如,利用通用对话框CommonDialog1产生一个产生一个“打开打开”对对话框,可以执行下列语句:话框,可以执行下列语句: CommonDialog1.Action=1 或或 CommonDialog1.ShowOpen (3)DialogTitle属性:该属性用于设置对话框的标题属性:该属性用于设置对话框的标题 (

5、4)CancelError属性:该属性表示用户在使用对话框进行对话属性:该属性表示用户在使用对话框进行对话时,单击时,单击“取消取消”按钮是否产生错误信息按钮是否产生错误信息 (5)通用对话框的方法通用对话框的方法二、二、 “文件文件”对话框对话框 在程序中将通用对话框的在程序中将通用对话框的Action属性设置为属性设置为1,或用,或用ShowOpen方法打开,则弹出方法打开,则弹出“打开文件打开文件”对话框对话框 “打开打开”对话框的属性:对话框的属性: FileName、FileTitle、Filter、FilterIndex、IniDir 1.1.文件对话框(打开、保存)需设置的属性文

6、件对话框(打开、保存)需设置的属性FilterFileNameInitDirFilterIndex属性属性FileName:包含路径;:包含路径;FileTitle:不包含路径。:不包含路径。Filter:例如,:例如, Documents(*.DOC)|*.DOC|Text Files(*.TXT)|*.txt|All Files|*.*FilterIndex:决定在文件类型列表框中显示第几组类型的文件。:决定在文件类型列表框中显示第几组类型的文件。InitDir:初始化路径。:初始化路径。“打开打开”文件对话框属性页文件对话框属性页DialogTiltleFileName InitDirF

7、ilterFilterIndexDefaultExt 例例8.18.1 建立一个建立一个“打开文件打开文件”的对话框的对话框 在窗体上添加一个通用对话框和一个在窗体上添加一个通用对话框和一个“打开打开”命令按钮,命令按钮,当单击当单击“打开打开”按钮时,就会弹出一个按钮时,就会弹出一个“打开文件打开文件”的对话的对话框框 (1) 把把CommonDialog控件添加到工具箱中。然后在窗体上添控件添加到工具箱中。然后在窗体上添加加CommonDialog控件,其默认名称为控件,其默认名称为CommonDialog1 (2)在窗体上添加一个命令按钮在窗体上添加一个命令按钮Command1,其,其C

8、aption属性为属性为“打开打开” (3)“打开打开”命令按钮命令按钮Command1的的Click事件过程代码:事件过程代码: Private Sub Command1_Click() CommonDialog1.DialogTitle = 打开文件打开文件“ 设置文件过滤器设置文件过滤器 CommonDialog1.Filter = 全部文件全部文件|*.*|文本文件文本文件|*.txt CommonDialog1.InitDir = C:my documents 设置默认文件夹设置默认文件夹 CommonDialog1.ShowOpen 显示显示“打开打开”对话框对话框 End Sub

9、 其中,设置文件过滤器其中,设置文件过滤器(Filter)属性的参数格式如下:属性的参数格式如下: 描述符描述符1 过滤符过滤符1 描述符描述符2 过滤符过滤符2 程序运行后,单击程序运行后,单击“打开打开”按钮即弹出如图所示的对话框按钮即弹出如图所示的对话框 从控件的从控件的FileName属性中获取选定的路径及文件名属性中获取选定的路径及文件名 三三、“颜色颜色”对话框对话框 属性属性Color:返回或设置选定的颜色。:返回或设置选定的颜色。 例例8.28.2 “颜色颜色”对话框的使用。 四、四、 “字体字体”对话框对话框 “另存为另存为”对话框:对话框:没有提供真正的存储文件操作,仍需要

10、编程完成储存操作。没有提供真正的存储文件操作,仍需要编程完成储存操作。属性属性 DefaultExt:缺省扩展名。:缺省扩展名。“字体字体”对话框对话框Flags属性:指示所显示的字体类型,必须设置。属性:指示所显示的字体类型,必须设置。 cdlCFScreenFonts&H1屏幕字体屏幕字体 cdlCFPrinterFonts&H2打印机字体打印机字体 cdlCFBoth&H3打印机字体和屏幕字体。打印机字体和屏幕字体。 cdlCFEffects&H100显示删除线和下划线检查框以及颜色组合框显示删除线和下划线检查框以及颜色组合框 FontName FontB

11、old、FontItalicFontSizeFontStrikethruFontUnderline ColorMin、Max 例例8.3 字体字体对话框的使用。对话框的使用。五、五、 “ “打印打印”对话框对话框属性属性FromPage:起始页号;:起始页号;ToPage:终止页号;:终止页号;Copies:打印份数。:打印份数。如果打印驱动程序不支持多份打印,该属性有可能始终返回如果打印驱动程序不支持多份打印,该属性有可能始终返回 1。 例例8.4 打印打印对话框的使用。对话框的使用。六、六、 “ “帮助帮助”对话框对话框帮助文件需要用其他的工具制作,如帮助文件需要用其他的工具制作,如Mic

12、rosoft Windows Help Compiler。 例例8.5 属性属性 HelpCommand:在线:在线Help帮助类型;帮助类型; HelpFile:Help文件的路径及其名称;文件的路径及其名称; HelpKey:在帮助窗口显示由该帮助关键字指定的帮助信息:在帮助窗口显示由该帮助关键字指定的帮助信息自定义对话框自定义对话框 创建自定义对话框就是建立一个窗体,在窗体上根据需要创建自定义对话框就是建立一个窗体,在窗体上根据需要放置控件,通过设置控件属性值来定义窗体的外观放置控件,通过设置控件属性值来定义窗体的外观 因为对话框没有控制菜单框因为对话框没有控制菜单框(标题栏左侧标题栏左

13、侧)和最大化、最小和最大化、最小化按钮,不能改变其大小,所以应设置以下对话框的属性,见化按钮,不能改变其大小,所以应设置以下对话框的属性,见表表10.3 用窗体自定义对话框,用窗体自定义对话框,一般步骤一般步骤: (1)向工程添加窗体向工程添加窗体 (2)在窗体上创建其他控件对象,定义对话框的外观在窗体上创建其他控件对象,定义对话框的外观 (3)设置窗体和控体对象的属性设置窗体和控体对象的属性 (4)在代码窗口中创建事件过在代码窗口中创建事件过 $8.2 $8.2 菜单设计菜单设计 应用程序通过菜单为用户提供一组命令应用程序通过菜单为用户提供一组命令 菜单一般分为两种:即菜单一般分为两种:即下

14、拉式菜单下拉式菜单和和弹出式菜单弹出式菜单一、一、 下拉式菜单下拉式菜单 1.下拉式菜单的结构下拉式菜单的结构 下拉式菜单基本结构包括:顶层菜单、菜单项和子菜单下拉式菜单基本结构包括:顶层菜单、菜单项和子菜单主菜单名主菜单名快捷键快捷键热键热键下级子菜下级子菜单标记单标记菜单项子菜单名主菜单条主菜单条菜单编辑器菜单编辑器 设计菜单的工具设计菜单的工具 启动菜单编辑器的方法启动菜单编辑器的方法 菜单编辑器分为上、下两部分,菜单编辑器分为上、下两部分,上半部分上半部分用来用来设置属性设置属性,下半部分下半部分是是菜单显示区菜单显示区,用来显示用户输入的菜单内容。,用来显示用户输入的菜单内容。 “标

15、题标题”(Caption)输入框输入框 供输入标题,也会同时显示在菜单显示区。菜单项的访问供输入标题,也会同时显示在菜单显示区。菜单项的访问键,用键,用“(&字符字符)”格式格式 “名称名称”(Name)输入框输入框 “索引索引”(Index)输入框输入框 “快捷键快捷键”列表框列表框 “帮助上下文帮助上下文ID”输入框输入框 “协调位置协调位置”列表框列表框 “复选复选”框框 “有效有效”框框 “可见可见”框框 “显示窗口列表显示窗口列表”框框 菜单显示区。内缩符号菜单显示区。内缩符号(4个点个点“”) 编辑按钮编辑按钮 共有共有7个按钮个按钮 分隔线分隔线 菜单的菜单的Click事

16、件事件 除分隔线以外的所有菜单元素都能识别除分隔线以外的所有菜单元素都能识别Click事件。事件。例例8.6 编一程序,进行两个操作数的算术运算练习编一程序,进行两个操作数的算术运算练习 设计步骤如下:设计步骤如下: (1)创建应用程序的用户界面和设置对象属性创建应用程序的用户界面和设置对象属性 菜单栏向用户菜单栏向用户提供功能选择,包括提供功能选择,包括运算数的位数,运算符类型和退出程序运算数的位数,运算符类型和退出程序 菜单设计菜单设计 各个菜单项名称各个菜单项名称 例例8.6.2运行时改变菜单属性运行时改变菜单属性 1. 使菜单命令有效或无效使菜单命令有效或无效 所有的菜单项都具有所有的

17、菜单项都具有Enabled属性,当该属性为属性,当该属性为True(默认默认值值)时,有效;若为时,有效;若为False时,菜单项会变暗,菜单命令无效。时,菜单项会变暗,菜单命令无效。 举例:举例: Mnu30.Enabled = False 2. 显示菜单项的复选标记显示菜单项的复选标记 使用菜单项的使用菜单项的Checked属性,可以设置复选标记。属性,可以设置复选标记。 举例:举例:Mnu31.Checked=True 3. 使菜单项不可见使菜单项不可见 举例:举例:Mnu30.Visible=True 在程序运行时,菜单随时增减,如在程序运行时,菜单随时增减,如“文件文件”菜单能保留最

18、近打菜单能保留最近打开的文件数。这同控件数组一样,使用菜单数组。开的文件数。这同控件数组一样,使用菜单数组。步骤:步骤: 1.在菜单设计时,加入一个菜单项,其在菜单设计时,加入一个菜单项,其Index为为0(菜单数组)(菜单数组), Visual为为False。 2.在程序运行时,通过在程序运行时,通过Load方法向菜单数组增加新的菜单项。方法向菜单数组增加新的菜单项。 例例8.7 在在8.6中的运算用动态菜单实现中的运算用动态菜单实现 同样,要删除所建立的菜单项,使用同样,要删除所建立的菜单项,使用UnLoad方法向菜单数组方法向菜单数组减少菜单项。减少菜单项。二、动态菜单(菜单项增减)二、

19、动态菜单(菜单项增减)三、三、 弹出式菜单弹出式菜单 弹出式菜单又称为快捷菜单。单击鼠标右键。可以根据右弹出式菜单又称为快捷菜单。单击鼠标右键。可以根据右击鼠标时的位置弹出不同的菜单。击鼠标时的位置弹出不同的菜单。 使用使用VB提供的菜单编辑器,把某个菜单设置成隐藏。提供的菜单编辑器,把某个菜单设置成隐藏。 创建快捷菜单的步骤如下:创建快捷菜单的步骤如下: (1)使用菜单编辑器设计菜单使用菜单编辑器设计菜单 (2)设置顶层菜单项为不可见设置顶层菜单项为不可见,即不选中菜单编辑器里的,即不选中菜单编辑器里的“可见可见”选项或在属性窗口中设定选项或在属性窗口中设定Visible属性为属性为Fals

20、e (3)编写与弹出式菜单相关联的编写与弹出式菜单相关联的MouseUp(释放鼠标释放鼠标)事件过程事件过程。格式为:格式为: 对象对象 PopupMenu 菜单名菜单名 , 位置常数位置常数, 横坐标横坐标, 纵坐标纵坐标常数位置常数位置值值描述描述vbPopupMenuLeftAlign0(缺省值)。弹出式菜单的左(缺省值)。弹出式菜单的左边定位于边定位于 x。vbPopupMenuCenterAlign4弹出式菜单的于弹出式菜单的于 x 居中位。居中位。vbPopupMenuRightAlign8弹出式菜单的右边定位于弹出式菜单的右边定位于 x。常数行为常数行为值值描述描述vbPopup

21、MenuLeftButtonvbPopupMenuLeftButton0 0(缺省值)。(缺省值)。 仅当使用鼠标左仅当使用鼠标左按钮时,按钮时, 弹出式菜单中的项目弹出式菜单中的项目才响应鼠标单击。才响应鼠标单击。vbPopupMenuRightButtonvbPopupMenuRightButton2 2不论使用鼠标右按钮还是左按不论使用鼠标右按钮还是左按钮,钮, 弹出式菜单中的项目都响弹出式菜单中的项目都响应鼠标单击。应鼠标单击。flags:如下表:如下表: 例例8.8 8.8 在例在例8.68.6的基础上,把的基础上,把“位数位数”菜单改为快捷菜单菜单改为快捷菜单 (1)打开例打开例1

22、0.9的应用程序,选定窗体,然后在菜单编辑器中的应用程序,选定窗体,然后在菜单编辑器中将将“位数位数”菜单标题的菜单标题的“可见可见”框中的框中的“”取消取消(即不选中即不选中) (2)增加以下的增加以下的MouseUp事件过程代码:事件过程代码: Private Sub Form_MouseUp(Button As Integer, _Shift As Integer, X As Single, Y As Single)If Button = 2 Then 检查是否右击检查是否右击,击左键为击左键为1PopupMenu mnu10End If End Sub程序运行时,右击窗体空白处,即会弹

23、出快捷菜单,如图程序运行时,右击窗体空白处,即会弹出快捷菜单,如图所示所示例例8.9一、多窗体处理一、多窗体处理 在多窗体程序中,每个窗体可以有自己的界面和在多窗体程序中,每个窗体可以有自己的界面和程序代码,完成不同的操作程序代码,完成不同的操作 1. 添加窗体添加窗体 通过通过“工程工程”菜单中的菜单中的“添加窗体添加窗体”命令来实现命令来实现 2. 删除窗体删除窗体 选择选择“工程工程”菜单中的菜单中的“移除移除”命令命令 3. 保存窗体保存窗体 选择选择“文件文件”菜单中的菜单中的“保存保存”或或“另存为另存为”命令命令 4. 设置启动窗体设置启动窗体 在在“工程属性工程属性”对话框中设

24、置对话框中设置 $8.3 $8.3 多重窗体和多文档界面多重窗体和多文档界面 Load语句:语句:把一个窗体装入内存把一个窗体装入内存 UnLoad语句语句:清除内存中指定的窗体:清除内存中指定的窗体 Show方法:方法:显示一个窗体显示一个窗体 Hide方法:方法:隐藏窗体。即不在屏幕上显示,但仍在内存隐藏窗体。即不在屏幕上显示,但仍在内存 中,因此它与中,因此它与UnLoad的作用是不一样的的作用是不一样的 有关语句和方法有关语句和方法 创建创建3个窗体和个窗体和1个标准模块个标准模块 (1)主窗体主窗体(Form1) 本窗体上建立了本窗体上建立了“输入参数输入参数”(Command11)

25、 、“画画圆圆”(Command12)和和“结束结束”(Command13)三个命令按钮三个命令按钮 设置为启动窗体设置为启动窗体例例8.10 8.10 多窗体应用示例多窗体应用示例Private Sub Command11_Click() 主窗体主窗体“输入参数输入参数”按钮按钮 Form1.Hide 隐藏主窗体隐藏主窗体 Form2.Show 显示显示“输入参数输入参数”窗体窗体End SubPrivate Sub Command12_Click() 主窗体主窗体“画圆画圆”按钮按钮 Form1.Hide 隐藏主窗体隐藏主窗体 Form3.Show 显示显示“画圆画圆”窗体窗体End Su

26、bPrivate Sub Command13_Click() 主窗体主窗体“结束结束”按钮按钮 Unload Form1 Unload Form2 Unload Form3 EndEnd Sub先卸载所有已先卸载所有已打开的窗体打开的窗体 (2)“输入参数输入参数”窗体窗体(Form2) 这是在主窗体上单击了这是在主窗体上单击了“输入参数输入参数”按钮后弹出的窗体,按钮后弹出的窗体,用于输入圆的坐标位置用于输入圆的坐标位置(x,y)和半径和半径(r)。窗体上建立了。窗体上建立了3个文本个文本框框(Text21、Text22和和Text23)和和1个个“返回返回”命令按钮命令按钮(Command

27、21) Private Sub Command21_Click() “输入参数输入参数”窗体的窗体的“返回返回”按按钮钮 X = Val(Text21.Text) Y = Val(Text22.Text) R = Val(Text23.Text) Form2.Hide 隐藏隐藏“输入参数输入参数”窗体窗体 Form1.Show 显示主窗体显示主窗体 End Sub (3)“画圆画圆”窗体窗体(Form3) 这是在主窗体上单击了这是在主窗体上单击了“画圆画圆”按钮后弹出的窗体。窗按钮后弹出的窗体。窗体上建立了体上建立了1个图片框和个图片框和2个命令按钮个命令按钮,如图,如图7.10所示。用户可所

28、示。用户可以单击以单击“画圆画圆”(Command31)命令按钮,使之按给定参数在图命令按钮,使之按给定参数在图片框上画圆。片框上画圆。Private Sub Command31_Click() “画圆画圆”窗体的窗体的“画圆画圆”按钮按钮 Picture1.Cls Picture1.Circle (X, Y), R 在图片框上画圆,圆心在图片框上画圆,圆心(X,Y), 半径半径REnd SubPrivate Sub Command32_Click() “画圆画圆”窗体的窗体的“返回返回”按钮按钮 Form3.Hide 隐藏隐藏“画圆画圆”窗体窗体 Form1.Show 显示主窗体显示主窗体E

29、nd Sub (4)标准模块标准模块(Modulel) 由于在各窗体之间需要使用公共变量来传送数据,所以由于在各窗体之间需要使用公共变量来传送数据,所以建立一个标准模块建立一个标准模块Modulel,对用到的,对用到的全局变量全局变量X、Y和和R进进行声明行声明 运行程序后,首先显示主窗体。在主窗体上,用户可通运行程序后,首先显示主窗体。在主窗体上,用户可通过过“输入参数输入参数”和和“画圆画圆”两个按钮来选择进入不同的窗体,两个按钮来选择进入不同的窗体,例如单击例如单击“输入参数输入参数”按钮,则主窗体消失,显示按钮,则主窗体消失,显示“输入参输入参数数”窗体。在窗体。在“输入参数输入参数”

30、窗体或窗体或“画圆画圆”窗体上,单击窗体上,单击“返回返回”按钮,又可以隐藏当前窗体和重现主窗体按钮,又可以隐藏当前窗体和重现主窗体例例8.11输入和计算学习成绩。输入和计算学习成绩。模块:模块:Public MATH As SinglePublic PHYSICS As SinglePublic CHEMISTRY As SinglePublic CHINESE As SinglePublic ENGLISH As Single 程序一般从程序一般从启动窗体的启动窗体的Form_Load过程过程开始执行开始执行 有时在程序启动时不加载任何窗体,而是首先执行一段有时在程序启动时不加载任何窗体,

31、而是首先执行一段程序代码,此时可把要执行的程序代码放在程序代码,此时可把要执行的程序代码放在Sub Main过程过程中,并指定中,并指定Sub Main为为“启动对象启动对象”。应用程序在运行时应用程序在运行时会先执行会先执行Sub Main过程过程 在一个工程中只能有一个在一个工程中只能有一个Sub Main过程过程,必须放在标准必须放在标准模块中,不能放在窗体模块内。模块中,不能放在窗体模块内。 设置设置Sub Main过程为过程为“启动对象启动对象”的方法:的方法:在在“工程属工程属性性”对话框的对话框的“通用通用”选项卡中,从选项卡中,从“启动对象启动对象”下拉列表下拉列表框中选中框中选中“Sub Main”Sub MainSub Main过程过程 建立两个窗体建立两个窗体(Form1及及Form2)和和1个个标准模块标准模块(Module1)。标准模块包含一个。标准模块包含一个Sub Main过程。如图所示过程。如图所示 两个窗体分别显示当前日期和时间两个窗体分别显示当前日期和时间 运行程序时首先判断当前时间是否超运行程序时首先判断当前时间是否超过过12时,若超过,则显示窗体时,若超过,则显示窗体Form2;否;否则显示窗体则显示窗体Form1 例例8.128.12 使用使用Sub MainSu

温馨提示

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

评论

0/150

提交评论