第八章菜单设计_第1页
第八章菜单设计_第2页
第八章菜单设计_第3页
第八章菜单设计_第4页
第八章菜单设计_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、第八章第八章 对话框与菜单程序设计对话框与菜单程序设计 1.用户自定义对话框用户自定义对话框 2.通用对话框控件。通用对话框控件。 3.菜单程序设计菜单程序设计本章内容:本章内容:本章重点:本章重点:用户自定义对话框的使用和菜单的设计用户自定义对话框的使用和菜单的设计 “对话框对话框”可以被看作一种特殊的窗体,它的大小一般可以被看作一种特殊的窗体,它的大小一般不可改变,也没有不可改变,也没有“最小化最小化”和和“最大化最大化”按钮,它只有按钮,它只有一个一个“关闭关闭”按钮(有时还包含一个按钮(有时还包含一个“帮助帮助”按钮)。按钮)。 VB提供了三种解决方案:提供了三种解决方案:系统预定义的

2、对话框(系统预定义的对话框(InputBox和和MsgBox)(第)(第4章)章)用户自定义对话框用户自定义对话框通用对话框控件。通用对话框控件。8.1 8.1 自定义对话框自定义对话框(了解)(了解)8.1.1 8.1.1 由普通窗体创建自定义对话框由普通窗体创建自定义对话框 对话框窗体与一般窗体在外观上是有区别的,需要对话框窗体与一般窗体在外观上是有区别的,需要通过设置以下属性值来自定义窗体外观。通过设置以下属性值来自定义窗体外观。窗体的窗体的BorderStyle属性值设置为属性值设置为3(VbFixedDoubleialog) 1BorderStyle属性属性 2ControlBox属

3、性属性属性值为属性值为True时窗体显示控制菜单框,为时窗体显示控制菜单框,为False时不显示。时不显示。8.1.2 8.1.2 使用对话框模板窗体创建对话框使用对话框模板窗体创建对话框 Visual Basic6.0 Visual Basic6.0系统提供了多种不同类的系统提供了多种不同类的“对话框对话框”模板窗体,通过模板窗体,通过“工程工程”菜单中的菜单中的“添加窗体添加窗体”命令,即命令,即可打开可打开“添加窗体添加窗体”对话框。对话框。 用户可以选择的对话框有用户可以选择的对话框有“关于关于”对话框、对话框、登对话框、对话框、登录对话框、日积月累、录对话框、日积月累、ODBCODB

4、C登录、选项对话框登录、选项对话框6 6类等。类等。 1 1显示自定义对话框显示自定义对话框可使用窗体对象的可使用窗体对象的ShowShow方法显示自定义对话框方法显示自定义对话框 2 2关闭自定义对话框关闭自定义对话框可使用可使用Hide方法或方法或UnLoad语句来关闭自定义对话框,其语句来关闭自定义对话框,其格式为:格式为: Me.Hide 或或 .Hide UnLoad 。8.2 通用对话框通用对话框工程工程/部件部件 选定部选定部件标签件标签选定选定Microsoft CommDialog Control 6.0 通用对话框添加到工具箱通用对话框添加到工具箱通通用用对对话话框框的的类

5、类型型 Action 方方法法 打打开开(Open) 1 ShowOpen 另另存存为为(Save As) 2 ShowSave 颜颜色色(Color) 3 ShowColor 字字体体(Font) 4 ShowFont 打打印印机机(Printer) 5 ShowPrinter 帮帮助助(Help) 6 ShowHelp 确定确定一、通用对话框的基本属性和方法一、通用对话框的基本属性和方法 通用对话框可以提供通用对话框可以提供6种形式的对话框,通过设置种形式的对话框,通过设置Action属性属性值或调用值或调用Show方法方法来建立不同类型的对话框。来建立不同类型的对话框。1. 属性属性Ac

6、tion属性属性:数值型,决定打开何种类型的对话框(见上表):数值型,决定打开何种类型的对话框(见上表)DialogTiltle属性属性:对通用话框标题。:对通用话框标题。CancelError属性:逻辑型值,表示用户在与对话框进行信息属性:逻辑型值,表示用户在与对话框进行信息交换时,按下交换时,按下“取消取消”按钮时是否产生出错信息。按钮时是否产生出错信息。 True:选择:选择“取消取消”按钮,出现错误警告;按钮,出现错误警告; Err置为置为32755 (cdlCancel) 。(可参考可参考P282)False(缺省缺省):选择:选择“取消取消”按钮,没有错误警告。按钮,没有错误警告。

7、2. 通用对话框的方法通用对话框的方法 VB还提供了一组方法用来打开不同类型对话框还提供了一组方法用来打开不同类型对话框 : ShowOpen ShowSave ShowColor ShowFont ShowPrinter ShowHelp 1. FileName(文件名称)属性文件名称)属性:在程序中可用该属性值设置:在程序中可用该属性值设置或返回用户所选定的文件名(包含路径)或返回用户所选定的文件名(包含路径) 2. FileTitle(文件标题)属性(文件标题)属性:在程序中可用该属性值设置:在程序中可用该属性值设置或返回用户所选定的文件名(或返回用户所选定的文件名(不包含路径不包含路径

8、) 8.2.1 “打开打开”/“另存为另存为”对话框对话框DialogTiltleFileName InitDirFilterFilterIndexDefaultExt 3. Filter(过滤器)属性:(过滤器)属性:确定文件列表框中所显示文件确定文件列表框中所显示文件的类型,该属性的值显示在的类型,该属性的值显示在“文件类型文件类型”列表框中。如设列表框中。如设置其值为:置其值为: Cocuments(*.DOC)|*.DOC|Text Files(*.TXT)|*.txt|All Files|(*.*) 则在则在“文件类型文件类型”列表框显示下列三种文件类型以供列表框显示下列三种文件类型

9、以供用户选择用户选择 Cocuments(*.DOC) 扩展名为扩展名为DOC的的Word文件文件 Text Files(*.TXT) 扩展名为扩展名为TXT的文本的文本文件文件 All Files|(*.*) 所有所有文件文件 4. FilterIndex(过滤器索引)属性(过滤器索引)属性:为整型值,表示用:为整型值,表示用户在文件类型列表框选定了第几组文件类型。户在文件类型列表框选定了第几组文件类型。5 . InitDir(初始化路径)属性(初始化路径)属性:该属性用来指定打开对:该属性用来指定打开对话框中的初始目录,若不设置,系统则默认为话框中的初始目录,若不设置,系统则默认为“C:M

10、y Documents”。6DefaultExt属性属性:字符型,用于确定保存文件的缺省:字符型,用于确定保存文件的缺省扩展名。扩展名。7CancelError属性属性:逻辑型值,表示用户在与对话框进:逻辑型值,表示用户在与对话框进行信息交换时,按下行信息交换时,按下“ “取消取消” ”按钮时是否产生出错信息。按钮时是否产生出错信息。 设计一个窗体,包含设计一个窗体,包含1个文本框(个文本框(Text1)和)和6个分别为个分别为 “打打开开”(cmdOpen)、)、“另存为另存为”(cmdSave)、)、“颜色颜色”(cmdColor)、)、“字体字体”(cmdFont)、)、“打印打印”(c

11、mdPrinter)和和“帮助帮助”(cmdHelp)命令按钮。)命令按钮。 本例中涉及前两种对话框的使用,当用户单击本例中涉及前两种对话框的使用,当用户单击“打开打开”就弹就弹出打开对话框,当用户选择一文本文件,便可将该文件内容读入出打开对话框,当用户选择一文本文件,便可将该文件内容读入到文本框;当单击到文本框;当单击“另存为另存为”就打开另存为对话框。用户输入文就打开另存为对话框。用户输入文件名后,便可以新的文件名保存文本框的内容。件名后,便可以新的文件名保存文本框的内容。8.2.2 “颜色颜色”对话框对话框 颜色对话框是当颜色对话框是当Action值为值为3时的通用对话框,如右图。时的通

12、用对话框,如右图。 重要属性重要属性 Color:用来返回或设置选定用来返回或设置选定的颜色。的颜色。 例例 “颜色颜色.”按钮的事件过程按钮的事件过程Private Sub cmdColor_Click() CommonDialog1.Action = 3 打开颜对话框打开颜对话框 Text1.ForeColor = CommonDialog1.Color End Sub8.2.3 “字体字体”对话框对话框 字体对话框是字体对话框是Action为为4时时的通用对话框,如下图所示,的通用对话框,如下图所示,提供用户选择字体、字号及字体样式等。提供用户选择字体、字号及字体样式等。 属性:属性:

13、字体对话框重要的属性有:字体对话框重要的属性有:Color, FontName, FontSize, FontBold FontItalic , FontStrikethru, FontUnderline,等等。 FontName FontBold、FontItalicFontSizeFontStrikethruFontUnderline ColorMin、Max“字体字体.”按钮的事件过程按钮的事件过程Private Sub cmdFont_Click( ) CommonDialog1.Flags = cdlCFBoth Or cdlCFEffectsCommonDialog1.Action

14、 = 4.End SubFlags属性:属性:设置所显示的字体类型,设置所显示的字体类型,数据类型为数据类型为Long。 注意注意 在显示在显示“字体字体”对话框前,必须先将对话框前,必须先将 Flags 属性属性设置为设置为 cdlCFScreenFonts,cdlCFPrinterFonts,或,或cdcdlCFBoth。否则,会发生字体不存在的错误。否则,会发生字体不存在的错误。 Flages属性应取下列值:属性应取下列值: cdlCFScreenFonts&H1屏幕字体屏幕字体 cdlCFPrinterFonts &H2打印机字体打印机字体 cdlCFBoth&

15、H3打印机字体和屏幕字体。打印机字体和屏幕字体。 cdlCFEffects &H80显示删除线和下划线检查框及颜色组合框显示删除线和下划线检查框及颜色组合框8.2.4 “打印打印”对话框对话框 打印对话框是当打印对话框是当Action为为5时时的通用对话框,是一个标准的通用对话框,是一个标准打印对话窗口界面,如右图。打印对话窗口界面,如右图。属性属性FromPage:整型,起始页号整型,起始页号Topage:整型,终止页号整型,终止页号Copies:整型,打印份数整型,打印份数 如果打印驱动程序不支持多份如果打印驱动程序不支持多份 打印,该属性有可能始终返回打印,该属性有可能始终返回

16、1。 FromPageTopageCopies 注意:打印对话框本身不能处理打印工作,仅仅是一个供用户注意:打印对话框本身不能处理打印工作,仅仅是一个供用户选择打印参数的界面,所选参数存于各属性中,再通过编程来处理选择打印参数的界面,所选参数存于各属性中,再通过编程来处理打印操作。打印操作。8.2.5 “帮助帮助”对话框对话框 帮助对话框是当帮助对话框是当Action为为6时的对话框,是一个标准时的对话框,是一个标准的对话窗口用于制作应用程序的在线帮助。它不能制作的对话窗口用于制作应用程序的在线帮助。它不能制作应用程序的帮助文件,只能将已制作好的帮助文件从磁应用程序的帮助文件,只能将已制作好的

17、帮助文件从磁盘中读出,并与界面连接起来,达到显示并检索帮助信盘中读出,并与界面连接起来,达到显示并检索帮助信息的目的。息的目的。 帮助文件需要用其它的工具制作,帮助文件需要用其它的工具制作, 如如Microsoft Windows Help Compiler。 1. HelpCommand(帮助命令)属性(帮助命令)属性:用于返回或设置需要:用于返回或设置需要的在线的在线Help帮助类型。帮助类型。2. HelpFile(帮助文件)属性(帮助文件)属性:用于指定已制作好的帮助文:用于指定已制作好的帮助文件的路径及文件名件的路径及文件名3. HelpKey(帮助关键字)属性(帮助关键字)属性:用

18、于指定帮助信息的内容,:用于指定帮助信息的内容, 帮助窗口中显示由该帮助关键字指定的帮助信息。帮助窗口中显示由该帮助关键字指定的帮助信息。4. HelpContext(帮助上下文)属性:(帮助上下文)属性:8.3 菜菜 单单8.3.1 菜单概述菜单概述 菜单是图形化界面一个必不可少的组成元素,通过菜单菜单是图形化界面一个必不可少的组成元素,通过菜单对各种命令按功能进行分组,使用户能够更加方便、直观地对各种命令按功能进行分组,使用户能够更加方便、直观地访问这些命令。访问这些命令。重要概念:重要概念:菜单名、菜单项、热键、快捷键、菜单事件菜单名、菜单项、热键、快捷键、菜单事件。区别:区别:1。菜单

19、名是菜单栏上表示包含菜单项列表的对象,菜。菜单名是菜单栏上表示包含菜单项列表的对象,菜单项可以包括菜单命令、分隔条和子菜单标题。每个菜单命单项可以包括菜单命令、分隔条和子菜单标题。每个菜单命令项对应一个应用程序。令项对应一个应用程序。 2。菜单名只能有热键;菜单项可以有热键和快捷键。菜单名只能有热键;菜单项可以有热键和快捷键。3。热键是指使用。热键是指使用ALT和菜单标题中的一个字符和菜单标题中的一个字符来打开菜单来打开菜单。4。快捷键打开的不是菜单而是直接执行相应的菜单命令的操。快捷键打开的不是菜单而是直接执行相应的菜单命令的操作。作。5。菜单项只响应。菜单项只响应Click事件。事件。 启

20、动菜单编辑器:启动菜单编辑器:有三种方法有三种方法 1. 单击工具栏菜单图标单击工具栏菜单图标 2. 工具工具/菜单编辑器菜单编辑器 (CTRL+E) 3. 鼠标右键单击窗体上鼠标右键单击窗体上快捷菜单快捷菜单 菜单编辑器菜单编辑器 8.3.2 菜单编辑器菜单编辑器 8.3.3 菜单编辑器的使用技巧菜单编辑器的使用技巧1. 标题标题(Caption):2. 名称名称(Name):3. 快捷键快捷键(Shortcut):4. 下一个下一个(Next):5. 和和按钮按钮6. 插入插入(Insert)按钮:按钮:7. 删除删除(Delete)按钮:按钮:8 和和按钮:按钮:9. 复选复选(Chec

21、ked)检查框:检查框:8. 有效有效(Enabled)检查框:检查框:11. 显示窗口列表显示窗口列表(Window List)检查框:检查框:根据设计要求,依次输入或选择所面项目,即可完成。根据设计要求,依次输入或选择所面项目,即可完成。 菜单的主要属性菜单的主要属性1. 标题标题(Caption):在窗口上显示,例如:输入:在窗口上显示,例如:输入&File,显示为:,显示为: File,热键:,热键:Alt+F 2. 名称名称(Name):菜单项的名称,分界符也应有名称。菜单项的名称,分界符也应有名称。(必有)必有)3. 快捷键快捷键(Shortcut):下拉列表框下拉列表框4

22、 下一个下一个(Next): 设置下一个菜单项。设置下一个菜单项。 5. 和和按钮:按钮:“” 下一级菜单项;下一级菜单项;“”上一级菜单项。上一级菜单项。6. 插入插入(Insert)按钮:按钮:插入菜单项插入菜单项7. 删除删除(Delete)按钮:按钮:删除菜单项删除菜单项8. 和和按钮:按钮:改变菜单项位置。改变菜单项位置。9. 复选复选(Checked)检查框:检查框:菜单项为选定项。菜单项为选定项。 8. 有效有效(Enabled)检查框:检查框:True:菜单项可选;:菜单项可选;False:不可:不可选。选。 11. 显示窗口列表显示窗口列表(Window List)检查框:检

23、查框:决定是否显示所有打开的子窗体标题。决定是否显示所有打开的子窗体标题。对对MDI窗体和窗体和MDI子窗体有效,对普通窗体无效。子窗体有效,对普通窗体无效。1设计下拉菜单设计下拉菜单2设计子菜单或改变子菜单级别设计子菜单或改变子菜单级别 3为菜单项分组(即分隔条)为菜单项分组(即分隔条) 方法:菜单名:减号方法:菜单名:减号“-”4为菜单项指定访问键和快捷键为菜单项指定访问键和快捷键 与命令按钮设置访问键相同。与命令按钮设置访问键相同。5为菜单项加上复选标记为菜单项加上复选标记6禁止使用菜单项禁止使用菜单项 在程序代码中可以通过程序代码:在程序代码中可以通过程序代码: 菜单名菜单名.Enab

24、led=False7菜单项的增减菜单项的增减 菜单设计的几项操作:菜单设计的几项操作:8.3.48.3.4 动态菜单(了解)动态菜单(了解) 动态增减则是在运行阶段根据用户的选择来增加或减动态增减则是在运行阶段根据用户的选择来增加或减少菜单项,这主要是利用控件数组实现的。少菜单项,这主要是利用控件数组实现的。(即在设计菜即在设计菜单的时候设置索引值单的时候设置索引值. 8.3.5 8.3.5 弹出菜单弹出菜单 在在VB中中,弹出式菜单的实现要用到下拉式菜单设计技弹出式菜单的实现要用到下拉式菜单设计技术和术和PopupMenu方法。方法。 因为,我们常常会想用一个弹出式菜单来访问那些在菜单栏中不

25、常用的选项。为创建一个不显示在菜单栏里的菜单,可在设计时使顶级菜单项目为不可见(保证在菜单编辑器里的“Visible”复选框没有被选上)。当 Visual Basic 显示一个弹出式菜单时,指定的顶级菜单的 Visible 属性会被忽略。(但是这一步不是绝对的,即visible也可以不设成false,这只是个惯例.)这样在运行时,至少含有一个菜单项的任何菜单都可以作为弹出式菜单被显示。为了显示弹出式菜单,可使用 PopupMenu 方法。2。这个方法使用下列语法:object.PopupMenu menuname , flags ,x ,y例如:当用户用鼠标右键单击一个窗体时,以下的代码显示一个名为 mnuFile 的菜单。可用 MouseUp 或者 MouseDown 事件来检测何时单击了鼠标右键,虽然标准用法是使用 MouseUp 事件:Private Sub Form_MouseUp (Button As Integer, Shift As _ Integer, X As Single, Y As Single)If Button = 2 Then

温馨提示

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

评论

0/150

提交评论