资源预览内容
第1页 / 共61页
第2页 / 共61页
第3页 / 共61页
第4页 / 共61页
第5页 / 共61页
第6页 / 共61页
第7页 / 共61页
第8页 / 共61页
第9页 / 共61页
第10页 / 共61页
亲,该文档总共61页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
在Windows环境中,几乎所有的应用软件都通过菜单来实现各种操作。而对于VB应用程序来说,当操作比较简单时,一般通过控件来执行,而当要完成较复杂的操作时,使用菜单将很方便。 工具栏同样以其直观、快捷的特点出现在各种应用程序中,事实上工具栏已经成为Windows应用程序的标准功能。它使用户不必在一级级的菜单中去搜寻需要的命令,给用户带来比菜单更为快捷的操作。 本章主要内容: 菜单设计 工具栏设计,第9章 菜单和工具栏设计,9.1 菜单设计 菜单的基本作用有两个,一是提供人机对话的接口,以便让用户选择应用系统的各种功能;二是管理应用系统,控制各种功能模块的运行。一个高质量的菜单程序,不仅能使系统美观,而且能使用户使用方便,并可避免由于误操作而带来的严重后果。 在实际应用中,菜单可分为两种基本类型:下拉式菜单和弹出式菜单。 下拉式菜单一般通过单击菜单栏中菜单标题(如“文件”、“编辑”、“视图”等)的方式打开,如图9-1所示。,图9-1 下拉式菜单,弹出式菜单则通过用鼠标右键单击某一区域的方式打开,如图9-2所示。 一般来说,不同的区域所“弹出”的菜单内容是不同的。如在VB的工具栏中的弹出菜单与窗体设计器中的弹出菜单就完全不同。,图9-2 弹出式菜单,9.1.1 下拉式菜单 在下拉式菜单系统中,一般有一个主菜单,称为菜单栏。其中包括一个或多个选择项,称为菜单标题。当单击一个菜单标题时,包含菜单项的列表(菜单)即被打开。菜单由若干个命令、分隔条、子菜单标题(其右边含有三角的菜单项)等菜单项组成。当选择子菜单标题时又会“下拉”出下一级菜单项列表,称为子菜单。VB的菜单系统最多可达6层。 在VB中,菜单也是一个图形对象,即控件。与其他控件一样,它具有定义它的外观与行为的属性。在设计或运行时可以设置Caption属性、Enabled和Visible属性、Checked属性以及其它属性。菜单控件只包含一个事件,即Click事件,当用鼠标或键盘选中该菜单控件时,将调用该事件。 与一般控件不同的是,菜单控件不在VB的工具箱中,需要在VB“菜单编辑器”中进行菜单设计。,1. 菜单编辑器 菜单通过菜单编辑器(即菜单设计窗口)建立。可以通过下面的4种方法之一进入菜单编辑器: l 执行“工具”菜单中的“菜单编辑器”命令。 l 使用快捷键Ctrl+E。 l 单击工具栏中的“菜单编辑器”按钮。 l 在要建立菜单的窗体上单击鼠标右键,在快捷菜单中,单击“菜单编辑器”命令。 打开后的菜单编辑器窗口如图9-3所示。,图9-3 菜单编辑器,菜单编辑器分为3个部分。 (1) 菜单控件属性区 菜单控件属性区用于设置菜单项的各个属性,表9-1列出其中的主要属性。,表9-1 菜单控件的主要属性,(2) 编辑区 编辑区共有7个按钮,用来对输入的菜单项进行简单的编辑,见表9-2。 表9-2 编辑区的按钮,(3) 菜单项显示区 菜单项显示区位于菜单编辑器的下部,输入的菜单项在这里显示出来,并通过内缩符号表明菜单项的层次。 说明: “菜单项”包括4个方面的内容:菜单名、菜单命令、分隔线和子菜单。 在输入菜单项时,如果在字母前加上“&”,则显示菜单时在该字母下面加上一条下划线,可以通过Alt+“带下划线的字母”打开菜单或执行相应的菜单命令。 内缩符号由4个小数点“.”组成,它表明菜单项所在的层次。一个内缩符号“.”表示一层,两个内缩符号“”表示两层,最多为6层。如果一个菜单项前面没有内缩符号,则该菜单为菜单名,即菜单的第一层。, 如果在“标题”栏内只输入一个“-”,则表示产生一个分隔线。 只有菜单名没有菜单项的菜单称为“顶层菜单”,在输入这样的菜单项时,通常在后面加上一个感叹号(!)。 除分隔线外,所有的菜单项都可以接受Click事件。 【例9-1】在窗体上建立如图9-4所示的文件下拉菜单。,图9-4 建立下拉菜单,操作步骤如下: 执行“工具”菜单中的“菜单编辑器”命令,打开“菜单编辑器”窗口。 在标题栏中输入“文件(&F)”,在菜单项显示区中出现同样的标题名称。按Tab键(或用鼠标)把输入光标移到“名称”栏,在名称栏中输入file,此时菜单项显示区中没有变化。 单击编辑区中的“下一个”按钮,菜单项显示区中的条形光标下移,同时资料区的“标题”栏及“名称”栏被清空,光标回到“标题”栏。 在标题栏中输入“新建”,该信息同时在菜单项显示区中显示出来,用Tab键或鼠标把光标移到“名称”栏,输入new,单击编辑区的右箭头,菜单显示区中的“新建”右移,同时其左侧出现一个内缩符号“.”,表明“新建”是“文件”的下一级菜单, 依次输入菜单中的各项,如果需要指定快捷键,可以单击“快捷键”栏右端的箭头,从中选出。例如为“打开”菜单项选中“Ctrl+O”作为其快捷键。 设计完成后的窗口如图9-5所示,单击“确定”按钮,完成菜单的建立工作。,图9-5 在菜单编辑器窗口建立下拉菜单,【例9-2】利用下拉式菜单为标签中的文本内容设置不同的字体和风格。如图9-6所示。,图9-6 利用菜单控制标题板,设计步骤如下: 建立用户界面及设置对象属性,如图9-7所示。,图9-7 设计用户界面及设置对象属性 其中,菜单编辑器中各菜单项的设置见表9-3。,表9-3 菜单项的设置, 编写菜单项代码。“文本字体”中4个菜单选项的Click事件代码为: Private Sub song_Click() Label1.FontName = “宋体“ End Sub Private Sub li_Click() Label1.FontName = “隶书“ End Sub Private Sub kai_Click() Label1.FontName = “楷体_GB2312“ End Sub Private Sub hei_Click() Label1.FontName = “黑体“ End Sub,“文本风格”中3个菜单选项的Click事件代码为: Private Sub bld_Click() bld.Checked = Not bld.Checked Label1.FontBold = bld.Checked End Sub Private Sub Itl_Click() Itl.Checked = Not Itl.Checked Label1.FontItalic = Itl.Checked End Sub Private Sub Undrln_Click() Undrln.Checked = Not Undrln.Checked Label1.FontUnderline = Undrln.Checked End Sub 程序运行结果如图9-6所示。,2. 菜单控件数组 既然VB将菜单项视为控件,因此就能运用控件数组的概念。菜单控件数组的作用主要有两个: l 用于动态地增删菜单项。 l 简化编程,用一段代码处理多个菜单项。 【例9-3】利用下拉式菜单设计简易的文本编辑器,使其具有创建、编辑、保存文本文件的内容,如图9-8所示。,图9-8 使用下拉菜单的简单编辑器,设计步骤如下: 建立用户界面及设置对象属性。在窗体上增加一个公共对话框控件,一个文本框控件,并设置对象属性,参见图9-9所示。,图9-9 建立用户界面及设置对象属性 其中,菜单编辑器中各菜单项的设置见表9-4。,表9-4 菜单项的设置, 编写菜单项代码。菜单控件数组File的Click事件代码为: Private Sub File_Click(Index As Integer) n = Index Select Case n Case 0 新建 Text1.Text = “ Form1.Caption = “未命名“ Case 1 打开 CommonDialog1.ShowOpen 显示“打开”公共对话框 fname = CommonDialog1.FileName,If fname “ Then Text1.Text = “ Open fname For Input As #1 b = “ Do Until EOF(1) Line Input #1, nextline b = b & nextline & Chr(13) & Chr(10) Loop Close #1 Text1.Text = b End If,Form1.Caption = fname Case 2 保存 If Form1.Caption = “未命名“ Or Form1.Caption = “ Then CommonDialog1.ShowSave 显示“另存为”公共对话框 fname = CommonDialog1.FileName Else fname = Form1.Caption End If If fname “ Then Open fname For Output As #1 Print #1, Text1.Text Close #1 End If,Case 3 另存 CommonDialog1.ShowSave 显示“另存为”公共对话框 fname = CommonDialog1.FileName If fname “ Then Open fname For Output As #1 Print #1, Text1.Text Close #1 End If Case 4 关闭 Text1.Text = “ Unload Me End Select Text1.SetFocus End Sub,编写“编辑”菜单中的菜单控件数组Edi的Click事件代码。在编写过程中,需要用到两个与剪贴板有关的方法:SetText方法和GetText方法。其中SetText方法是将指定的文本放入系统剪贴板中: Clipboard.SetText Text1.SelText 剪贴板对象的GetText方法可以作为函数一样使用,它返回系统剪贴板当前的内容: Text1.SelText = Clipboard.GetText() 其中,Clipboard是VB提供的剪贴板对象。 菜单控件数组Edi的Click事件代码为:,Private Sub edi_Click(Index As Integer) i = Index Select Case i Case 0 剪切 Clipboard.SetText Text1.SelText Text1.SelText = “ Case 1 复制 Clipboard.SetText Text1.SelText Case 2 粘贴 Text1.SelText = Clipboard.GetText() Case 3 删除 Text1.SelText = “ End Select End Sub 程序运行结果如图9-8所示。,3. 菜单项的可用与不可用 VB设计的菜单可以根据程序的运行状态动态地进行调整。当菜单项所指示的操作不适合当前的环境时,可以暂时将其关闭,不让用户选择该菜单项,也可以干脆把它隐藏起来,就像根本没有这个菜单项一样,等到条件成熟时,再重新显示被隐藏的菜单项。 【例9-4】改编例9-3的程序,使得当文本中没有被选中的内容时,剪切、复制和删除等功能被关闭(菜单项呈灰色)。一旦选中某些文本后,剪切、复制和删除等功能就可以被使用,如图9-10所示。,图9-
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号