收藏 分享(赏)

VisualBasic第9章菜单与对话框PPT课件.ppt

上传人:oil007 文档编号:3835074 上传时间:2018-11-20 格式:PPT 页数:37 大小:383KB
下载 相关 举报
VisualBasic第9章菜单与对话框PPT课件.ppt_第1页
第1页 / 共37页
VisualBasic第9章菜单与对话框PPT课件.ppt_第2页
第2页 / 共37页
VisualBasic第9章菜单与对话框PPT课件.ppt_第3页
第3页 / 共37页
VisualBasic第9章菜单与对话框PPT课件.ppt_第4页
第4页 / 共37页
VisualBasic第9章菜单与对话框PPT课件.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、第9章 菜单与对话框,第9章 菜单与对话框,9.1 使用菜单菜单是Windows应用程序中十分关键的要素之一,它以分组的形式组织多个命令或操作,为用户灵活操作应用程序提供了便捷的手段。在实际的应用中,菜单可分为两种基本类型:下拉式菜单和弹出式菜单。下拉式菜单一般通过单击菜单栏中菜单标题(如“文件”、“编辑”、“视图”等)的方式打开,弹出式菜单则通过用鼠标右键单击某一区域的方式打开。,9.1.1 下拉式菜单在下拉式菜单系统中,一般有一个主菜单,称为菜单栏。其中包括一个或多个选择项,称为菜单标题。当单击一个菜单标题时,包含菜单项的列表(菜单)即被打开。菜单由若干个命令、分隔条、子菜单标题(其右边含

2、有三角的菜单项)等菜单项组成。当选择子菜单标题时又会“下拉”出下一级菜单项列表,称为子菜单。VB的菜单系统最多可达6层。,1. 菜单控件在VB中,菜单也是一个图形对象,即控件。与其它控件一样,它具有定义其外观与行为的属性。在设计或运行时可以设置Caption属性、Enabled和Visible属性、Checked属性以及其它属性。菜单控件只包含一个事件,即Click事件,当用鼠标或键盘选中该菜单控件时,将调用该事件。与一般控件不同的是,菜单控件不在VB的工具箱中,需要在VB的“菜单编辑器”中进行菜单的设计。,2. 菜单编辑器用菜单编辑器可以创建新的菜单和菜单项、在已有的菜单上增加新命令、编辑已

3、有的菜单命令、以及修改和删除已有的菜单和菜单项。在VB系统的“工具”菜单中选择“菜单编辑器”,或在“工具栏”上单击“菜单编辑器”按钮都可以打开菜单编辑器,如图9-2所示。图9-2 菜单编辑器,菜单编辑器分为三个部分:1) 菜单控件属性区。用于设置菜单项的各个属性,表9-1列出其中的主要属性: 表9-1 菜单控件的主要属性其他属性可参见VB的联机帮助。,2) 编辑区。编辑区共有7个按钮,用来对输入的菜单项进行简单的编辑。3) 菜单控件列表框。菜单控件列表框位于菜单编辑器的下部,输入的菜单项在这里显示出来,并通过内缩符号表明菜单项的层次,如图9-3所示。图9-3 菜单控件列表框与对应的菜单项,3.

4、 下拉式菜单的设计下面通过一个例子来说明菜单程序设计的基本方法和步骤,这个方法具有通用性,无论多复杂的菜单都可以通过这个方法设计出来。 【例9-1】为例4-13中的电子标题板增加一个菜单,利用菜单来控制标题板的内容、字体、字体风格等,如图9-4所示。图9-4 利用菜单控制标题板,只需在例4-13的基础上作如下修改: 打开菜单编辑器,按照表9-3设计菜单项: 表9-3 菜单项的设置, 编写菜单项代码。编写“文本内容”项Txt的Click事件代码:Private Sub Txt_Click()temp = InputBox(“请输入标题板的新内容“, “输入“, Label1.Caption)If

5、 temp “ ThenLabel1.Caption = tempEnd IfEnd Sub,编写“文本字体”中4个菜单选项的Click事件代码:Private Sub song_Click()Label1.FontName = “宋体“End SubPrivate Sub li_Click()Label1.FontName = “隶书“End SubPrivate Sub kai_Click()Label1.FontName = “楷体_GB2312“End SubPrivate Sub hei_Click()Label1.FontName = “黑体“End Sub,编写“文本风格”中3个

6、菜单选项的Click事件代码:Private Sub bld_Click()bld.Checked = Not bld.CheckedLabel1.FontBold = bld.CheckedEnd SubPrivate Sub Itl_Click()Itl.Checked = Not Itl.CheckedLabel1.FontItalic = Itl.CheckedEnd SubPrivate Sub Undrln_Click()Undrln.Checked = Not Undrln.CheckedLabel1.FontUnderline = Undrln.CheckedEnd Sub,4

7、. 菜单控件数组既然VB将菜单项视为控件,因此就能运用控件数组的概念。菜单控件数组的作用主要有两个:1) 用于动态地增删菜单项。2) 简化编程,用一段代码处理多个菜单项。 【例9-2】在例9-1中使用菜单控件数组。只需在例9-1的基础上作如下修改:,1) 打开菜单编辑器,按照表9-4修改菜单项: 表9-4 菜单项的修改,2) 修改菜单项代码。删除原“文本字体”中4个菜单选项的Click事件代码,编写“文本字体”菜单中的菜单控件数组fname的Click事件代码:Private Sub fname_Click(Index As Integer)Select Case IndexCase 1Lab

8、el1.Fontname = “宋体“Case 2Label1.Fontname = “隶书“Case 3Label1.Fontname = “楷体_GB2312“Case 4Label1.Fontname = “黑体“End SelectEnd Sub,删除原“文本风格”中3个菜单选项的Click事件代码,编写“文本风格”菜单中的菜单控件数组Styly的Click事件代码:Private Sub Styly_Click(Index As Integer)Styly(Index).Checked = Not Styly(Index).CheckedSelect Case IndexCase 1

9、Label1.FontBold = Styly(Index).CheckedCase 2Label1.FontItalic = Styly(Index).CheckedCase 3Label1.FontUnderline = Styly(Index).CheckedEnd SelectEnd Sub,5. 菜单项的可用与不可用VB设计的菜单可以根据程序的运行状态动态地进行调整。当菜单项所指示的操作不适合当前的环境时,可以暂时将其关闭,不让用户选择该菜单项,也可以干脆把它隐藏起来,就像根本没有这个菜单项一样,等到条件成熟时,再重新显示被隐藏的菜单项。 【例9-3】在例9-2中,当前文本的字体在菜

10、单中被关闭菜单项呈灰色,可以选择未被选择的字体。如图9-5所示。,只需在例9-2的基础上修改“文本字体”菜单中的菜单控件数组fname的Click事件代码:Private Sub fname_Click(Index As Integer)Select Case IndexCase 1Label1.Fontname = “宋体“Case 2Label1.Fontname = “隶书“Case 3Label1.Fontname = “楷体_GB2312“Case 4Label1.Fontname = “黑体“End SelectFor Each x In fnamex.Enabled = IIf(

11、x.Index = Index, False, True)NextEnd Sub 图9-5 菜单项的可用与不可用,隐藏一个菜单项的办法也是很简单的。在上例中,修改“文本字体”菜单中的菜单控件数组Fontname的Click事件代码如下,即可隐藏或重现菜单项(如图9-6)。Private Sub fname_Click(Index As Integer)Select Case IndexCase 1Label1.FontName = “宋体“Case 2Label1.FontName = “隶书“Case 3Label1.FontName = “楷体_GB2312“Case 4Label1.Fo

12、ntName = “黑体“End SelectFor Each x In fnamex.Visible = IIf(x.Index = Index, False, True)NextEnd Sub,9.1.2 弹出式菜单弹出式菜单能以灵活的方式为用户提供更加便利的操作,它可以根据用户单击鼠标右键时的位置,动态地调整菜单项的显示位置,同时也改变菜单项显示内容,因此弹出式菜单又称为“上下文菜单”或“快捷菜单”。为了显示“弹出式菜单”,可以使用PopupMenu方法,语法为: 窗体名. PopupMenu菜单名, flags ,x , y , boldcommand Flags参数为一些常量数值的设

13、置,包含位置常数及行为常数两个指定值,见表9-5和表9-6。,表9-5 位置常数表9-6 行为常数,Boldcommand参数可以指定在显示的弹出式菜单中想以粗体字体出现的菜单项的名称。在弹出式菜单中只能有一个菜单项被加粗。为创建一个不显示在菜单栏里的菜单,可在设计时使顶级菜单项目为不可见(保证在菜单编辑器里的“Visible”复选框没有被选上)。当VB显示一个弹出式菜单时,指定的顶级菜单的Visible属性会被忽略。 【例9-4】在例9-1中实现弹出式菜单(如图9-7)。图9-7 自定义的弹出式菜单,只需增加标签和窗体的MouseDown事件代码:Private Sub Label1_Mou

14、seDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 ThenPopupMenu Styl, 6End IfEnd SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)If Button = 2 ThenPopupMenu txtfont, 6End IfEnd Sub注意:在VB的文本框中,即使不编程也可以得到一个弹出式菜单。,9.2 公共对话框“公共

15、对话框”(Common Dialog)控件为用户提供了一组标准的系统对话框,可以使用它进行打开或保存文件、设置打印选项、选择各种颜色以及选择字体等的操作。另外还可以通过调用Windows帮助引擎来显示应用程序的帮助。 9.2.1 添加“公共对话框”控件“公共对话框”控件属于VB专业版和企业版所特有的ActiveX控件,位于文件 C:WindowsSystemComdlg32.ocx 中,名称为“Microsoft Common Dialog Control 6.0”。,用鼠标右键单击控件工具箱,在弹出菜单中选择“部件”,打开部件对话框(如图9-9左)。在“部件”对话框中,选定所需的文件,按“确

16、定”按钮即可将“公共对话框”控件添加到控件工具箱中(图9-9右)。图9-9 添加“公共对话框”控件,9.2.2 使用“公共对话框”在应用程序中使用“公共对话框”控件,需要将它添加到窗体中。由于在程序运行时看不见“公共对话框”控件,因此可以将它放置在窗体的任何位置。在程序运行时,“公共对话框”可以显示一个对话框或是执行帮助的引擎,所显示的对话框由控件的“方法”决定。共有6种方法来指定相应的对话框,见表9-7。 表9-7 通用对话框控件的方法列表,每种对话框都有自己特殊的属性,这些属性既可以在属性窗口中设置,也可以在代码中设置,还可以在“属性页”对话框中设置。在属性窗口中选择“(自定义)”,再单击

17、右侧的“”按钮,就会出现“属性页”对话框,如图9-10所示。图9-10 “属性页”对话框,1. 使用“打开”对话框打开文件是Windows应用程序(例如Office)中的常用操作。“打开”对话框可以用来指定文件所在的驱动器、文件夹以及文件名、文件扩展名,如图9-11所示。图9-11 “打开”对话框运行时选定文件并关闭对话框后,可用FileName属性得到文件所在的驱动器、文件夹以及文件名、文件扩展名。,使用“打开”对话框的步骤如下:1) 首先在窗体中增加“公共对话框”控件。2) 然后在“属性页”对话框中设置属性。3) 最后使用CommonDialog控件的ShowOpen方法来显示“打开”对话

18、框:控件名.ShowOpen,2. 使用“另存为”对话框“另存为”对话框可以用来指定文件所要保存的驱动器、文件夹以及文件名、文件扩展名,如图9-12所示。使用“另存为”对话框的步骤同上,首先应在窗体中增加“公共对话框”控件,然后在“属性页”对话框中设置属性,其中属性页的设置同上。最后使用CommonDialog控件的ShowSave方法来显示“另存为”对话框:控件名.ShowSave,3. 使用“颜色”对话框“颜色”对话框用来在调色盘中选择颜色,或者创建自定义颜色,如图9-13所示。运行时选定颜色并关闭对话框后,可用Color属性得到所选的颜色。使用“颜色”对话框的步骤如下:1) 首先在窗体中

19、增加“公共对话框”控件。2) 然后在“属性页”对话框中设置属性。3) 最后使用CommonDialog控件的ShowColor方法来显示“颜色”对话框:控件名.ShowColor,4. 使用“字体”对话框“字体”对话框设置并返回所用字体的名字、样式、大小、效果及颜色,如图9-14。 使用“字体”对话框的步骤如下:1) 首先在窗体中增加“公共对话框”控件。2) 然后在“属性页”对话框中设置属性。注意:必须将Flags属性设为下列常数之一与其他选项之和:cdlCFScreenFonts或1(屏幕字体)cdkCFPrinterFonts或2(打印机字体)cdlCFBoth或3(=1+2 两种字体皆有

20、)例如:设为259(=256+3是cdlCFEffects常数与3之和,在对话框中将出现颜色、效果等选项)。,3) 最后使用CommnnDialog控件的ShowFont方法来显示“字体”对话框:控件名.ShowFont,5. 使用“打印”对话框“打印”对话框可以设置打印输出的方法,如打印范围、打印份数、打印质量等其他打印属性。此外,对话框还显示当前安装的打印机的信息,允许用户重新设置缺省打印机。如图9-15所示。使用“打印”对话框的步骤如下:1) 首先在窗体中增加“公共对话框”控件。2) 然后在“属性页”对话框中设置属性,如图9-16所示。3) 最后使用CommonDialog控件的Show

21、Printer方法来显示“打印”对话框:控件名.ShowPrinter,【例9-5】使用公共对话框控件的例子(图9-17)。图9-17 使用“公共对话框”控件,编写命令按钮数组Command()的Click事件代码:Private Sub Command1_Click(Index As Integer)n = IndexSelect Case nCase 0CommonDialog1.Filter = “所有文件(*.*)|*.*|文本文件(*.TXT)|*.txt“CommonDialog1.FilterIndex = 1CommonDialog1.ShowOpenText1.Text =

22、CommonDialog1.FileNameFrame1.Caption = “从打开对话框返回“Case 1CommonDialog1.ShowSaveText1.Text = CommonDialog1.FileNameFrame1.Caption = “从另存为对话框返回“Case 2CommonDialog1.ShowColorText1.Text = “从颜色对话框返回“Text1.ForeColor = CommonDialog1.ColorFrame1.Caption = “从颜色对话框返回“,Case 3CommonDialog1.Flags = 3 Or 256CommonD

23、ialog1.ShowFontWith Text1.FontName = CommonDialog1.FontName.FontSize = CommonDialog1.FontSize.FontStrikethru = CommonDialog1.FontStrikethru.FontBold = CommonDialog1.FontBold.FontItalic = CommonDialog1.FontItalic.FontUnderline = CommonDialog1.FontUnderline.ForeColor = CommonDialog1.ColorEnd WithText1.Text = “从字体对话框返回“Frame1.Caption = “从字体对话框返回“End SelectEnd Sub,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报