visualbasic之菜单栏设计

上传人:aa****6 文档编号:56905992 上传时间:2018-10-17 格式:PPT 页数:65 大小:509KB
返回 下载 相关 举报
visualbasic之菜单栏设计_第1页
第1页 / 共65页
visualbasic之菜单栏设计_第2页
第2页 / 共65页
visualbasic之菜单栏设计_第3页
第3页 / 共65页
visualbasic之菜单栏设计_第4页
第4页 / 共65页
visualbasic之菜单栏设计_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《visualbasic之菜单栏设计》由会员分享,可在线阅读,更多相关《visualbasic之菜单栏设计(65页珍藏版)》请在金锄头文库上搜索。

1、第10章 菜单设计,10.1 概述 10.2 设计菜单 10.3 菜单的控制 10.4 建立弹出式菜单 习题,Visual Basic提供了设计菜单的工具,但是这个工具不在工具箱中。在设计菜单的时候,需要在主窗口的菜单栏中选择“工具”菜单项,从其下拉菜单中选择“菜单编辑器”命令,或单击工具栏中的菜单编辑器按钮,这时屏幕上弹出一个“菜单编辑器”窗口,如图10.1所示。利用这个“菜单编辑器”,能够对所要设计的菜单的每一项的属性进行设置。,10.1 概述,图10.1,使用“菜单编辑器”能够建立一个应用程序的菜单系统。这个菜单系统往往包含多个菜单项。需要说明的是,虽然菜单系统是一个整体,但每一个菜单项

2、分别相当于一个控件,也就是说在“菜单编辑器”中包含多个控件,每一个控件都有自己的名字,对每一控件需要分别进行属性的设置,当然,在程序中,也要分别对每个控件编写相应的程序。在设计阶段,对属性的设置只能通过“菜单编辑器”进行,在程序运行过程中,可以通过语句改变属性的值。,建立菜单以后,每一个菜单项的名字(即该控件的“名称”属性)都会出现在程序代码窗口中的对象框的下拉列表中(可以通过单击“视图”菜单中的“代码窗口”命令进入此窗口)。 建立菜单的步骤如下: (1) 建立窗体,添加控件; (2) 在Visual Basic主设计窗口中,选“工具”中的“菜单编辑器”或单击工具栏中的“菜单编辑器”命令按钮,

3、进入菜单设计窗口; (3) 设置各菜单项; (4) 为相应的菜单命令添加编写事件过程。,【例10.1】设计一个窗体,布局如图10.2所示。窗体中包含两个文本框。在该窗体上设计菜单,包括“编辑(E)”和“设置(S)”两项。其中的“编辑(E)”提供Windows中常用的“剪切”、“复制”和“粘贴”功能。“退出”命令也放到这一项之中。“设置(S)”包括“设置颜色”和“设置字体”功能。要求实现菜单所指定的功能,例如,单击“复制”菜单,就应将选中的文本复制到剪贴板中。,10.2 设计菜单,图10.2,窗体上各控件的属性设置见表10.1(见书208页)。 按以上要求完成窗体外观设计后,需要建立菜单系统。以

4、下分别讨论如何建立菜单以及怎样编写相应的应用程序。,利用Visual Basic提供的菜单编辑器能够很方便地建立程序的菜单系统。打开“菜单编辑器”的方法是,从主窗口的菜单条上选择“工具”菜单项,打开下拉菜单,从中选择“菜单编辑器”命令,此时会弹出如图10.1所示的窗口。 从图10.1中可以看到,“菜单编辑器”窗口分上、中、下三个部分。上面部分称为属性设置区,用来对菜单项进行属性设置。中间部分称为编辑区,有7个按钮,用来对输入的菜单项进行简单的编辑。下面部分是菜单项显示区,输入的菜单项在此处显示出来。,10.2.1 建立菜单,1. 建立主菜单 (1) “标题(P)”是程序运行时显示在菜单上的说明

5、文字,相应于普通控件的Caption属性。这个属性的内容是提供给用户看的。程序运行时,该属性的值是可以改变的。 (2) “名称(M)”是该菜单项的控件名称,这个名称将在程序设计时使用,是提供给计算机识别控件用的。这个名称可以是简单的控件名称,也可以是控件数组的名称。如果指定的名称是控件数组,还应指定该菜单项在数组中的下标(利用“索引”属性)。,(3) 如果某个菜单项是控件数组的一个元素,就应指明它的“索引”属性,这个属性值是整数。 (4) 如果需要为菜单项设置快捷键,则应从“快捷键(S)”的下拉列表框中选择系统提供的、可用的快捷键组合。 (5) “复选”、“有效”、“可用”等选项用于控制菜单项

6、是否有效、是否可用等。 按照上述说明,建立两个主菜单项,其属性设置如表10.2(见书208页)所示。,怎样具体地进行菜单项属性的设置呢?当进入菜单编辑器窗口后光标在“标题(P)”框中闪烁,下面窗口(菜单项显示区)的顶部有一“点亮”的空行(用蓝色或其他颜色显示),按如下步骤操作: (1) 在“标题(P)”框内输入第一个主菜单标题“编辑(&E)”; (2) 按Tab键将光标移至“名称(M)”框或用鼠标单击“名称(M)”框,在框内输入mnuEdit,如图10.3所示。,图10.3,当用户在“标题(P)”框中输入“编辑(&E)”后就会看到,下窗口(菜单项显示区)顶部点亮的一行上同步显示刚输入的内容。

7、建立第二个主菜单项。单击“下一个”按钮,下窗口中光标行移到“编辑(&E)”的下一行,然后,按建立第一个主菜单项的方法建立第二个主菜单项“设置(&S)”。 菜单编辑器编辑区的7个按钮分别用于调整菜单项的顺序、缩进位置、移动光标位置等操作,并提供了插入、删除操作。通过下面的介绍可以了解它们的作用和使用方法。,2. 设计子菜单 下面建立主菜单“编辑(&E)”的子菜单,准备设置的属性如表10.3(见书209页)所示。 具体操作步骤如下: (1) 首先将菜单显示区(下窗口)中的第二个主菜单项“点亮”,即用光标单击第二行的主菜单项“设置(&S)”。 (2) 然后单击编辑区中的“插入”按钮,这时在“设置(&

8、S)”前插入了一个空行。 (3) 单击“标题(P)”框并在其中输入第一个子菜单项的标题“剪切”。,(4) 单击“名称(M)”框并在其中输入第一个子菜单项的名字“mnuEditCut”。 (5) 单击编辑区(中窗口)中向右的箭头按钮“”,菜单项“剪切”两个字前加入4个点,“剪切”被缩进,表示它是从属于“编辑(&E)”的子菜单项。 4个点表示一个内缩符号,为第一级子菜单,如果单击向右的箭头按钮两次,就会出现两个内缩符号(8个点),为第二级子菜单,依此类推。单击向左的箭头按钮,内缩符号便会消失。,3. 设置快捷键 “菜单编辑器”中的“快捷键(S)”可以定义菜单项的快捷键(ShortCut)。在操作时

9、,使用快捷键能大大提高选取命令的速度。按下快捷键时,就会立刻运行相应的菜单命令。 为“剪切”命令指定快捷键的方法是,在“菜单编辑器”中用鼠标单击“快捷键”右侧的下箭头,下拉列表框中显示了可供选择的快捷键组合,如图10.4所示。,图10.4,4. 符号“&”的作用 子菜单第四项“退出”之后的符号“&”的含义是在生成的菜单中设置一个访问键。在设计菜单时,若某一字母前面有符号“&”,则当程序运行时,在菜单项“&”后面的字母(例如X)底部就会出现一下划线。使用这种访问键时,用户同时按下Alt键和标有下划线的相应字母键,能够打开相应的菜单项。例如,用Alt+E键打开“编辑(E)”菜单。当菜单项被打开后,

10、再按X键,就可以执行“退出”菜单命令(与单击“退出”菜单项的作用一样)。如果不加符号“&”则不能采用这种方式来选择菜单项。,5. 添加分隔线 现在需要在“粘贴”和“退出”两个子菜单命令中间加一个分隔条。操作过程与建立一个菜单项一样。 (1) 将“退出”子菜单项“点亮”。 (2) 单击“插入”项,可以看到在“退出”命令的上面添加了一行,并自动加入了一个内缩符号。 (3) 在“标题(P)”框中输入一个减号(-)。 (4) 在“名称(M)”框中为这个减号起一个名字menuEditBar。,分隔线本身不是菜单项,它仅仅起到分隔菜单项的作用。它不能带有子菜单,不能设置“复选”、“有效”等属性,也不能设置

11、快捷键。 到目前为止第一个主菜单和它的第一级子菜单全部建立,此时的菜单编辑器见图10.5。提供给用户的界面见图10.6。在程序设计阶段,若单击主菜单项“编辑(E)”,可以看到弹出一个下拉菜单,如图10.2所示。 按以上方法,在“设置(&S)”主菜单项下面建立子菜单。表10.4(见书212页)中列出了“设置(S)”项中菜单项的属性。,图10.5,图10.6,菜单全部构造完毕后的情况见图10.7。单击“确定”按钮,使“菜单编辑器”窗口关闭。用户将看到窗体上有一主菜单行,单击某个菜单标题时,拉出一个它的下级菜单(见图10.8)。如果用户要修改一个已构造好的菜单,可再次进入“菜单编辑器”窗口进行修改。

12、,图10.7,图10.8,菜单构造好后,还要为各个菜单项进行编码,才能真正做到通过选择菜单项来实现某项操作功能。 按例10.1要求在第一个文本框中输入文本,选中其中的一段文本,用“剪切”或“复制”命令将所选的文本“放”到剪贴板上,再用“粘贴”命令将剪贴板上的内容“贴”到第二个文本框中。,10.2.2 编写代码,在Windows的应用程序中,几乎都有“剪切”、“复制”和“粘贴”命令。实际上,这几项操作是借助剪贴板(Clipboard)完成的。剪贴板是内存的一部分区域,可以暂时保存文本和图形。所有的Windows应用程序都能使用(共享)剪贴板中的信息。 在Visual Basic程序中,与剪贴板有

13、关的操作是通过Clipboard对象实现的。Clipboard对象没有任何属性和事件,但是通过它的一些方法可以提供对系统剪贴板的访问,即通过剪贴板实现不同的应用程序或控件间的数据共享。,Clipboard对象是剪贴板,利用它可以进行文本和图形的复制、剪切和粘贴。为便于清楚地描述这个问题,把提供数据的对象称为“源”(Source),从剪贴板中取出的数据最终放置的地方称为“目标”。 从放置数据的“源”上取数据时,使用Clipboard对象的SetText方法或SetData方法。其中SetText方法用于读取文本数据的操作,SetData方法用于读取非文本数据的操作。以下是“复制”命令的事件过程程

14、序代码:,Private Sub mnuEditCopy_Click()If txtT1.SelLength 0 ThenClipboard.SetText txtT1.SelTextEnd If End Sub 以下是“剪切”命令的事件过程的程序代码。这段程序与“复制”类似,区别在于把数据放到剪贴板的同时应把选中的文本清除,也就是说,剪切后,源数据不再存在。,Private Sub mnuEditCut_Click()If txtT1.SelLength 0 ThenClipboard.SetText txtT1.SelTexttxtT1.SelText = End If End Sub 在

15、把Clipboard对象上的数据放到“目标”对象上时,应使用GetText方法或GetData方法。GetText方法用于文本数据的操作,GetData方法用于非文本数据的操作。以下是“粘贴”数据的事件过程:,Private Sub mnuEditPaste_Click()If Len(Clipboard.GetText) 0 ThentxtT2.SelText = Clipboard.GetTextEnd If End Sub 使用剪贴板需要注意的一个问题是,在使用之前,应该先用Clear方法将剪贴板Clipboard清空,因为Clipboard是Windows的系统资源, 允许多个程序向剪

16、贴板粘贴数据,因此剪贴板上可能已存放其他程序复制的信息。在程序装载时,要先清空剪贴板的内容,相应的程序如下:,Private Sub Form_Load()Clipboard.Clear End Sub 另一个要注意的问题是,在这个题目中,数据源和目标都是固定的。因此只能从第一个文本框txtT1取数据,再粘贴到第二个文本框txtT2中,不能从txtT2向txtT1中粘贴数据,也不能从txtT1中复制后再粘贴到txtT1中。如果要使程序能适应各种对象之间的粘贴操作,应先利用Screen对象确定当前的操作对象,例如,当前编辑的是文本框txtT2,再把这个对象作为“源”,最后进行粘贴操作。可以对“复制”程序作如下修改:,Private Sub mnuEditCopy_Click()使用 Screen.ActiveControlClipboard.ClearIf TypeOf Screen.ActiveControl Is TextBox ThenClipboard.SetText Screen.ActiveControl.SelTextmnuEditPaste.Enabled = TrueEnd If End Sub,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号