7.1设计下拉式菜单[学习目标]1.了解菜单的功能和基本结构;2.掌握用菜单编辑器设计下拉式菜单系统外观的方法;3.理解并掌握编写菜单事件过程的方法。[学习重点]1.下拉式菜单系统外观的设计方法;2.编写菜单事件过程的方法。[学习难点]1.编写菜单事件过程的方法;2.剪贴板对象的应用。菜单在windows应用程序中有广泛的应用,是应用程序图形化界面中一个必不可少的组成元素,通过菜单对各种命令按功能进行分组,能使用户更加方便、直观地访问这些命令。7.1设计下拉式菜单一、菜单系统的功能1.将应用程序的所有功能分类显示于菜单的选项中,以便用户选择。2.管理应用系统,控制各种功能模块的运行。7.1设计下拉式菜单二、菜单系统的种类和结构1、弹出式菜单2、下拉式菜单菜单栏(主菜单)—主菜单项子菜单——菜单项有效和无效的菜单项和子菜单项带复选框的菜单项和子菜单项——级联菜单(最多可达6层)。。。——启动对话框分隔线7.1设计下拉式菜单弹出式菜单弹出菜单项目弹出菜单7.1设计下拉式菜单主菜单项快捷键热键级联菜单标记菜单栏分隔线菜单项子菜单名下拉式菜单7.1设计下拉式菜单三、VB中设计菜单的工具——菜单编辑器1.菜单编辑器(1)打开方法“工具”主菜单项/菜单编辑器工具栏/菜单编辑器窗体上弹出式菜单/菜单编辑器(2)作用在菜单编辑器对话框中可以完成创建、编辑、修改菜单等工作,如添加/删除菜单项、调整菜单项的位置、定义菜单中的快捷键。7.1设计下拉式菜单(3)结构7.1设计下拉式菜单菜单控件属性区菜单项显示区(菜单控件列表框)编辑区2.菜单控件菜单系统是一个整体,但每一个菜单项分别是一个控件。因此,设计菜单同设计其他控件相似,要设置其属性和编写事件过程。在设计阶段设置属性时用菜单编辑器在菜单控件属性区中设置。在程序运行时则是通过代码实现的。7.1设计下拉式菜单(1)菜单控件的主要属性标题Caption:设置程序运行时显示在菜单上的文字。名称Name:设置菜单项的控件名称,用来在代码中识别菜单控件。注意:VisualBasic禁止在菜单控件未命名之前退出菜单编辑。复选Checked:设置菜单项是否被选中。有效Enabled:设置菜单项是否对事件作出响应。(正常显示或灰色)可见Visible:设置菜单项是否可见。7.1设计下拉式菜单(2)菜单控件的事件菜单控件只有一个Click事件。(3)菜单的特点:菜单也是一个控件。不象命令按纽、列表框等其他的控件,菜单没有标准的外观。菜单项随着应用程序的不同而不同。就下拉式菜单来说,唯一不变的就是菜单栏。7.1设计下拉式菜单四、下拉式菜单的设计设计一个类似Word的带下拉式菜单的简易文本编辑器1.下拉式菜单的设计步骤(1)建立窗体,添加控件;(2)打开菜单编辑器,进入菜单设计窗口;(3)设置各菜单项的属性;(4)为菜单项编写相应的事件过程。7.1设计下拉式菜单2.菜单系统的外观设计(1)基本操作1.“→”按钮:下一级菜单项;2.“←”按钮:上一级菜单项。3.↓和↑按钮:改变菜单项位置。4.下一个(Next):设置下一个菜单项。5.插入(Insert)按钮:插入菜单项6.删除(Delete)按钮:删除菜单项7.1设计下拉式菜单(2)修饰菜单设置菜单分隔线(-):分界符也应有名称。访问键(热键):(&F)ShortCut(快捷键):当快捷键按下时菜单项被执行。经常用到的菜单项目要设置一个快捷键以支持键盘访问。7.1设计下拉式菜单3.编写菜单事件过程完成菜单系统外观设计后,还必须为各个菜单项进行编码,才能真正做到通过选择菜单项来实现某项功能。(1)最简单的情形编写“文件”主菜单中的“关闭”菜单项的事件过程只需用End方法即可。编写“隶书”、“宋体”级联菜单项代码,只要在其事件过程中令Text1.FontName=“隶书”和Text1.FontName=“宋体”即可。7.1设计下拉式菜单例题代码PrivateSubmnuFileClose_Click()EndEndSubPrivateSubmnuFormatFontlishu_Click()Text1.FontName=隶书EndSubPrivateSubmnuFormatFontsongti_Click()Text1.FontName=宋体EndSub7.1设计下拉式菜单(2)菜单的控制——菜单项的状态①有效性控制Enabled使菜单项失效或生效。②菜单项的复选标志Checked在菜单项上添加或去除选中符号。有些对应的命令表示的是一种开关状态,只有两种可能的状态,因此,首先要判定它的属性值。③Visible只有将菜单项的Visible属性设置为True,该菜单项才显示。可以在设计时设置该属性值,也可以在运行时通过执行代码加以改变7.1设计下拉式菜单例题代码PrivateSubForm_Load()Clipboard.clearmnuEditCut.Enabled=FalsemnuEditCopy.Enabled=FalsemnuEditPaste.Enabled=FalseEndSub7.1设计下拉式菜单点击“编辑”主菜单项后,应先判断文本框中是否有文本被选中PrivateSubmnuEdit_Click()IfText1.SelLength0ThenmnuEditCut.Enabled=TruemnuEditCopy.Enabled=TrueElsemnuEditCut.Enabled=FalsemnuEditCopy.Enabled=FalseEndIfEndSub7.1设计下拉式菜单(3)剪贴板对象Clipboard①剪贴板是内存的一部分区域,所有应用程序都能使用剪贴板中的信息。在VB中,所有与剪贴板有关的操作是通过剪贴板对象实现的。剪贴板对象是用于暂时保存图形和文本的一种特殊的控件,它是VB中预先定义好的控件组。②剪贴板对象没有任何属性和事件,但通过它的一些方法可以提供对系统剪贴板的访问(即发送和接收数据)。7.1设计下拉式菜单③剪贴板对象的方法Clipboard.Clear将剪贴板清空Clipboard.SetTextText1.SelText将选中的字符串复制到剪贴板Clipboard.SetDataData[,Format]将非文本数据复制到剪贴板上Clipboard.GetText将剪贴板上的字符串发送到光标所在位置Clipboard.GetData将剪贴板上的非文本数据发送到光标所在位置7.1设计下拉式菜单例题代码(剪切)PrivateSubmnuEditCut_Click()IfText1.SelLength0ThenClipboard.SetTextText1.SelTextText1.SelText='同时要让粘贴菜单项有效mnuEditPaste.Enabled=TrueEndIfEndSub'Text1.SelText表示文本框中选定的文本‘Text1.SelLength表示文本框中选定文本的长度7.1设计下拉式菜单复制PrivateSubmnuEditCopy_Click()IfText1.SelLength0ThenClipboard.SetTextText1.SelTextmnuEditPaste.Enabled=TrueEndIfEndSub'复制与剪切的区别是Text1.SelText='同时要让粘贴菜单项有效7.1设计下拉式菜单粘贴PrivateSubmnuEditPaste_Click()IfLen(Clipboard.GetText)0ThenText1.SelText=Clipboard.GetTextEndIfEndSub注意:Text1.SelText=Clipboard.GetText和Text1.Text=Clipboard.GetText的区别(在光标所在位置处插入剪贴板上的数据)7.1设计下拉式菜单全选PrivateSubmnuEditSel_Click()IfmnuEditSel.Checked=FalseThenmnuEditSel.Checked=TrueText1.SelStart=0'Text1.SelStart表示文本框中选定文本的开始位置Text1.SelLength=Len(Text1.Text)ElsemnuEditSel.Checked=FalseText1.SelLength=0EndIfEndSub7.1设计下拉式菜单Text1.Text:表示文本框中的文本Text1.SelText:表示文本框中选定的文本Text1.SelLength:表示文本框中选定文本的长度Text1.SelStart:表示文本框中选定文本的开始位置7.1设计下拉式菜单7.2弹出式菜单弹出菜单是独立于菜单栏的浮动菜单,其在窗体上的显示位置由单击鼠标时指针的位置决定。弹出式菜单也是通过“菜单编辑器”来设计的。设计方法与下拉式菜单相似,仅该菜单名不可显示,主菜单的“可见”Visible属性为False。7.2弹出式菜单在VB中,使用PopupMenu方法来显示弹出菜单。PopupMenu方法的语法为:[对象.]PopupMenu菜单名,标志,x,y其中,标志表示弹出的位置和触发的键,位置与性能是加的关系。7.3设计工具栏工具栏是大多数应用程序不可缺少的一个部分,它将应用程序常用的菜单命令以按钮的方式呈现,使用户可以快速选择按钮,以执行相应的功能。7.3.1设计工具栏VB提供了Toolbar控件,可以快速的设计工具栏。Toolbar控件不是标准控件,须将Toolbar控件调入工具箱。方法如下:通过“工程”→“部件”→“控件”,再选中“MicrosoftWindowsCommonControl6.0”选项,如图所示。7.3设计工具栏7.3设计工具栏Toolbar控件会自动出现在窗体的上部,若窗体上已有菜单栏,则在会固定在其下方。我们就可以利用Toolbar控件添加不同类型的按钮,一般可分为文字按钮和图形按钮。7.3设计工具栏一、设计文字按钮制作文字按钮的步骤:(1)在窗体上添加了Toolbar控件后,移动鼠标在Toolbar1上单击鼠标右键,调出快捷菜单,选择“属性”。(2)选择“按钮”标签,然后选择“插入按钮”。(3)在Caption标题栏输入想要显示的文字标题,然后在Key栏输入关键字,接着可在ToolTipText工具栏输入提示文字,最后在Style栏选择合适的按钮样式。7.3设计工具栏7.3设计工具栏(4)重复步骤(3),建立“粗体”Check样式的工具按钮。(5)重复步骤(3),建立“颜色”Dropdown样式的工具按钮。然后在“ButtonMenus”按钮菜单区选择“插入按钮菜单项”钮,建立颜色按钮的下拉式选项。7.3设计工具栏二、设计图形按钮想要制作图形按钮,须事先准备好图片,然后利用ImageList控件将按钮图片加入,再将Toolbar控件的“ImageList”项指定为ImageList控件,这样就可以为为每一个按钮设计一个图片了。7.3设计工具栏我们将上图中的“打开”和“粗体”按钮加上图片,具体步骤如下所示:(1)ImageList控件也是属于MicrosoftWindowsCommonControl6.0中的控件,所以可以在调入Toolbar控件后,直接从工具箱调入至窗体。(2)在ImageList控件上单击鼠标右键,调出快捷菜单,选择“属性”,然后选择属性页的“Image”标签,再选择按钮。调出“选择图片”的对话框,从中将所有合适的图片文件选中,选择“打开”,就可以将图片调入ImageList控件的Images栏中。7.3设计工具栏(3)在已做好Toolbar控件上单击鼠标右键,调出快捷菜单,选择“属性”,然后选择属性页的“General”标签,在ImageList栏选中ImageList1控件。7.3设计工具栏(4)选择Toolbar控件属性页上的“Buttons”标签,在Image栏选择ImageList控件上图片作为按钮上的图片。(