设计菜单课件

上传人:磨石 文档编号:243001433 上传时间:2024-09-13 格式:PPT 页数:41 大小:207.50KB
返回 下载 相关 举报
设计菜单课件_第1页
第1页 / 共41页
设计菜单课件_第2页
第2页 / 共41页
设计菜单课件_第3页
第3页 / 共41页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,菜单在windows应用程序中有广泛的应用,是应用程序图形化界面中一个必不可少的组成元素,通过菜单对各种命令按功能进行分组,能使用户更加方便、直观地访问这些命令。,7. 菜单的设计,一、菜单系统的功能,1将应用程序的所有功能分类显示于菜单的选项中,以便用户选择。,2管理应用系统,控制各种功能模块的运行。,7. 菜单的设计,二、菜单系统的种类和结构,1、弹出式菜单:弹出菜单是独立于菜单栏的浮动菜单,其在窗体上的显示位置由单击鼠标时指针的位置决定,2、下拉式菜单,菜单栏(主菜单)主菜单项,子菜单菜单项,有效和无效的菜单项和子菜单项,带复选框的菜单项和子菜单项, 级联菜单(最多可达6层), 启动对话框,分隔线,7. 菜单的设计,主菜单项,快捷键,级联菜单标记,菜单栏,分隔线,菜单项,子菜单名,下拉式菜单,7.下拉式菜单的设计,三、VB中设计菜单的工具菜单编辑器,1菜单编辑器,(1)打开方法,“工具”主菜单项 / 菜单编辑器,工具栏菜单编辑器,窗体上弹出式菜单菜单编辑器,(2)作用,在菜单编辑器对话框中可以完成创建、编辑、修改菜单等工作,如添加/删除菜单项、调整菜单项的位置、定义菜单中的快捷键。,7.下拉式菜单的设计,(3)结构,菜单控件属性区,菜单项显示区,(菜单控件列表框),编辑区,7.下拉式菜单的设计,2菜单控件,菜单系统是一个整体,但每一个菜单项分别是一个控件。因此,设计菜单同设计其他控件相似,要设置其属性和编写事件过程。,在设计阶段设置属性时用菜单编辑器在菜单控件属性区中设置。,在程序运行时则是通过代码实现的。,7.下拉式菜单的设计,(1)菜单控件的主要属性,标题,Caption,:设置程序运行时显示在菜单上的文字。,名称,Name,:设置菜单项的控件名称,用来在代码中识别菜单控件。,注意:,Visual Basic,禁止在菜单控件未命名之前退出菜单编辑。,复选,Checked,:设置菜单项是否被选中。,有效,Enabled,:设置菜单项是否对事件作出响应。(正常显示或灰色),可见Visible:设置菜单项是否可见。,7.下拉式菜单的设计,(2)菜单控件的事件,菜单控件只有一个Click事件。,(,3,)菜单的特点:,菜单也是一个控件。,不象命令按纽、列表框等其他的控件,菜单没有标准的外观。,菜单项随着应用程序的不同而不同。,7.下拉式菜单的设计,四、下拉式菜单的设计,设计一个类似Word的带下拉式菜单的简易文本编辑器,1下拉式菜单的设计步骤,(1)建立窗体,添加控件;,(2)打开菜单编辑器,进入菜单设计窗口;,(3)设置各菜单项的属性;,(4)为菜单项编写相应的事件过程。,7.下拉式菜单的设计,2菜单系统的外观设计,(,1)基本操作,1.“”按钮:下一级菜单项;,2.“”按钮:上一级菜单项。,3.和按钮:改变菜单项位置。,4.下一个(Next):设置下一个菜单项。,5.插入(Insert)按钮:插入菜单项,6.删除(Delete)按钮:删除菜单项,7.下拉式菜单的设计,(2)修饰菜单,设置菜单分隔线(-):分界符也应有名称。,访问键(热键) : (,&F),ShortCut,(快捷键):当快捷键按下时菜单项被执行。经常用到的菜单项目要设置一个快捷键以支持键盘访问。,7.下拉式菜单的设计,3编写菜单事件过程,完成菜单系统外观设计后,还必须为各个菜单项进行编码,才能真正做到通过选择菜单项来实现某项功能。,(1)最简单的情形,编写“文件”主菜单中的“关闭” 菜单项的事件过程只需用End方法即可。,编写“隶书”、“宋体”级联菜单项代码,只要在其事件过程中令Text1.FontName = “隶书”和Text1.FontName = “宋体” 即可。,7.下拉式菜单的设计,例题代码,Private Sub mnu(),End,End Sub,Private Sub mnuFormatFontlishu_Click(),Text1.FontName = 隶书,End Sub,Private Sub mnuFormatFontsongti_Click(),Text1.FontName = 宋体,End Sub,7.下拉式菜单的设计,(2)菜单的控制,菜单项的状态,有效性控制,Enabled,使,菜单项失效或生效。,菜单项的复选标志,Checked,在,菜单项上添加或去除选中符号。,有些对应的命令表示的是一种开关状态,只有两种可能的状态,因此,首先要判定它的属性值。, Visible,只有将菜单项的Visible属性设置为True,该菜单项才显示。可以在设计时设置该属性值,也可以在运行时通过执行代码加以改变,7.下拉式菜单的设计,(3)剪贴板对象Clipboard, 剪贴板是内存的一部分区域,所有应用程序都能使用剪贴板中的信息。在VB中,所有与剪贴板有关的操作是通过剪贴板对象实现的。,剪贴板对象是用于暂时保存图形和文本的一种特殊的控件,它是VB中预先定义好的控件组。,剪贴板对象没有任何属性和事件,但通过它的一些方法可以提供对系统剪贴板的访问(即发送和接收数据)。,剪贴板对象的方法,Clipboard.Clear,将剪贴板清空,Clipboard.SetText Text1.SelText,将选中的,字符串,复制到剪贴板,Clipboard.SetData Data,Format,将,非文本数据,复制到剪贴板上,Clipboard.GetText,将剪贴板上的,字符串,发送到光标所在位置,Clipboard.GetData,将剪贴板上的,非文本数据,发送到光标所在位置,7.下拉式菜单的设计,例题代码,Private Sub Form_Load(),Clipboard,.clear,mnuEditCut.Enabled = False,mnuEditCopy.Enabled = False,mnuEditPaste.Enabled = False,End Sub,7.下拉式菜单的设计,点击“编辑”主菜单项后,应先判断文本框中是否有文本被选中,Private Sub mnuEdit_Click( ),If Text1.SelLength 0 Then,mnuEditCut.Enabled = True,mnuEditCopy.Enabled = True,Else,mnuEditCut.Enabled = False,mnuEditCopy.Enabled = False,End If,End Sub,7.下拉式菜单的设计,7.下拉式菜单的设计,Text1.Text:表示文本框中的文本,Text1.SelText:表示文本框中选定的文本,Text1.SelLength:表示文本框中选定文本的长度,Text1.SelStart:表示文本框中选定文本的开始位置,例题代码,(剪切),Private Sub mnuEditCut_Click(),If Text1.SelLength 0 Then,Clipboard.SetText Text1.SelText,Text1.SelText = ,同时要让粘贴菜单项有效,mnuEditPaste.Enabled = True,End If,End Sub, Text1.SelText表示文本框中选定的文本, Text1.SelLength表示文本框中选定文本的长度,7.下拉式菜单的设计,复制,Private Sub mnuEditCopy_Click(),If Text1.SelLength 0 Then,Clipboard.SetText Text1.SelText,mnuEditPaste.Enabled = True,End If,End Sub,复制与剪切的区别是Text1.SelText = ,同时要让粘贴菜单项有效,7.下拉式菜单的设计,粘贴,Private Sub mnuEditPaste_Click(),If Len(Clipboard.GetText) 0 Then,Text1.SelText = Clipboard.GetText,End If,End Sub,注意:Text1.SelText=Clipboard.GetText 和 Text1.Text=Clipboard.GetText的区别,7.下拉式菜单的设计,全选,Private Sub mnuEditSel_Click(),If mnuEditSel.Checked = False Then,mnuEditSel.Checked = True,Text1.SelStart = 0, Text1.SelStart表示文本框中选定文本的开始位置,Text1.SelLength = Len(Text1.Text),Else,mnuEditSel.Checked = False,Text1.SelLength = 0,End If,End Sub,7.下拉式菜单的设计,7.2 弹出式菜单,弹出菜单是独立于菜单栏的浮动菜单,其在窗体上的显示位置由单击鼠标时指针的位置决定。,弹出式菜单也是通过“菜单编辑器”来设计的。设计方法与下拉式菜单相似,所不同的是1)该菜单名不可显示,即主菜单的“可见”Visible属性为False;2),该菜单必须要有下层子菜单才可以作为弹出式菜单,即最少需要二层子菜单。,弹出式菜单的设计往往会和MouseDown事件配合使用。先判断是否单击了鼠标,如果必须用鼠标右键触发,还应加上判断条件。再在,MouseDown事件中调用PopupMenu方法。,PopupMenu方法来显示弹出菜单。,PopupMenu方法的语法为:,对象. PopupMenu 菜单名,Private Sub Form_MouseDown(Button As Integer,Shift As Integer, X As Single, Y As Single)If Button = vbRightButton Then判断是否单击了鼠标右键Form1.PopupMenu menu_1调用PopupMenu方法及菜单menu_1End IfEnd Sub,7.3 设计工具栏,工具栏是大多数应用程序不可缺少的一个部分,它将应用程序常用的菜单命令以按钮的方式呈现,使用户可以快速选择按钮,以执行相应的功能。,7.3.1 设计工具栏,VB提供了Toolbar控件,可以快速的设计工具栏。,Toolbar控件不是标准控件,须将Toolbar控件调入工具箱。方法如下:,通过“工程”“部件”“控件”,再选中“Microsoft Windows Common Control6.0”选项,如图所示。,7.3 设计工具栏,7.3 设计工具栏,建立,Toolbar控件后,会自动出现在窗体的上部,若窗体上已有菜单栏,则在会固定在其下方。,我们就可以利用Toolbar控件添加不同类型的按钮,一般可分为文字按钮和图形按钮。,7.3 设计工具栏,一、设计文字按钮,制作文字按钮的步骤:,(1)在窗体上添加了Toolbar控件后,移动鼠标在Toolbar1上单击鼠标右键,调出快捷菜单,选择“属性”。,(2)选择“按钮”标签,然后选择“插入按钮” 。,(3)在Caption标题栏输入想要显示的文字标题,然后在Key栏和Index输入关键字和索引值,接着可在ToolTipText工具栏输入提示文字,最后在Style栏选择合适的按钮样式。,7.3 设计工具栏,index和key就是与按钮一一对应的标识。index是整数类型的,类似于数组的下标。key是字符串类型的类似于对象的名字,但它与名字不同的是引用时必须加双引号,并且它中间可以包含任意的字符。按钮的key属性是可选的,可以为空。访问按钮时可以引用index和key二者之一,7.3 设计工具栏,(4)重复步骤(3),建立“粗体” Check样式的工具按钮。,(5)重复步骤(3),建立“颜色” Dropdown样式的工具按钮。然后在“ButtonMenus”按钮菜单区选择“插入按钮菜单项”钮,建立颜色按钮的下拉式选项。,7.3 设计工具栏,Buttongroup:编,组按钮用于实现按钮之间的分组,相邻的编组按钮都属于同一组。编组按钮同时也是开关按钮,同组内至多只允许一个按钮处于按下状态。,Placeholder:,占位按钮在toolbar中也不显示,它仅仅起到占位的作用。在占位按钮处可以安放其它控件诸如组合框之类。占位按钮是唯一可以设置宽度(width)属性的按钮。,二、设计图形按钮,想要制作图形按钮,须事先准备好图片,然后利用ImageList控件将按钮图片加入,再将Toolbar控件的“ImageList”项指定为ImageList控件,这样就可以为为每一个按钮设计一个图片了。,7.3 设计工具栏,我们将上图中的“打开”和“粗体”按钮加上图片,具体步骤如下所示:,(1)ImageList控件也是属于Microsoft Windows Common Control6.0中的控件,所以可以在调入Toolbar控件后,直接从工具箱调入至窗体。,(2)在ImageList控件上单击鼠标右键,调出快捷菜单,选择“属性”,然后选择属性页的“Image”标签,再选择按钮。调出“选择图片”的对话框,从中将所有合适的图片文件选中,选择“打开”,就可以将图片调入ImageList控件的Images栏中。,7.3 设计工具栏,(3)在已做好Toolbar控件上单击鼠标右键,调出快捷菜单,选择“属性”,然后选择属性页的“General”标签,在ImageList栏选中ImageList1控件。,7.3 设计工具栏,(4)选择Toolbar控件属性页上的“Buttons”标签,在Image栏选择ImageList控件上图片作为按钮上的图片。,(5)最后选择“确定”按钮,运行后的界面如下所示。,7.3 设计工具栏,7.3 设计工具栏,常用方法:,1) Add方法:,Toolbar名.buttons.add(index,key,caption,style,image),2)remove方法:,Toolbar名.buttons.remove按钮的index值/key名,三、编写工具按钮的事件过程,一般编写工具按钮的事件过程是在Toolbar控件的ButtonClick事件中,代码通常利用Case语句及Button.Key(或button.index)来判定用户按下哪一个按钮,以便能执行相应的程序代码。如该工具按钮为带下拉式菜单的按钮,则在ButtonMenuClick事件中编写代码,利用ButtonMenu.Key (或buttonMenu.index)来判定用户使用的是哪一个菜单项,其判断值为Key栏的设置值。,7.3 设计工具栏,Private Sub toolbar1_buttonclick(ByVal button As MSComctlLib.button),Select Case button.Key,Case open,MsgBox add code to open !“,Case save,MsgBox add code to save !,End Select,End Sub,7.4,设计状态栏,状态栏主要用于,显示,当前所处的的状态或,所,执行,的任务,StatusTool控件也不是标准控件,须将其调入工具箱。方法同ToolBar.,一般情况下不对状态栏编写事件过程,通常在其他的事件过程调用如下方式:,StatusBar1.Panels(index).Text = 要显示的内容,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!