返回首页
当前位置: 主页 > 其他教程 > Access教程 >

Access如何编程自定义菜单工具栏?(3)

时间:2012-12-30 00:35来源:Office教程学习网 www.office68.com编辑:麦田守望者

 

菜单系统

每一个Microsoft Office 应用程序的菜单系统都是由完整的一套菜单以及菜单上的菜单项所组成的。一个菜单可以是主菜单、子菜单或是快捷菜单。一个菜单项通常是一条命令或是一个子菜单的标题。在本章中,“组件”这个术语一般指任何菜单或菜单项。

菜单栏处在活动窗口的顶端,它显示出所有菜单的名称,菜单可以随时为应用程序所使用。也就是说,Microsoft Office 应用程序能够根据一次活动窗口的变化或一条Visual Basic指令相应地改变菜单栏的显示。例如,当用户在Microsoft Excel 中编辑图表时,包含一组用于图表环境的菜单的菜单栏会自动显示出来。

一个菜单是菜单项的一张列表,菜单项在用户单击菜单栏上的菜单名时才出现(下拉)。

一个子菜单是附加在另一个菜单(父菜单)旁边的菜单,靠近父菜单上某个子菜单标题。每个子菜单标题都有一个指向右边的箭头。用户可以给菜单或快捷菜单添加子菜单。当用户用鼠标指到父菜单上的子菜单标题时,就会显示出相应的子菜单。

一个快捷菜单是包含了与某个专门命令有关的一组命令的浮动菜单。当用户在某个对象上点击鼠标右键时,就会显示出快捷菜单。

自定义菜单系统的原则

用户可以通过很多途径对Microsoft Office应用程序的菜单系统进行修改:可以创建新的菜单栏、在内置或自定义菜单栏中添加新的菜单、在内置或自定义菜单或子菜单中添加新的菜单项,而且还可以给菜单项指派宏。另外,用户也可以随时恢复到内置菜单系统的默认状态。

添加自定义组件或修改内置组件

每个Microsoft Office应用程序都带有自己的内置菜单系统。用户可以修改它的内置系统,也可以创建和修改自定义的菜单组件。

如果用户添加或改变了较少数目的组件,那么对菜单栏、菜单或菜单项进行修改比较合适的。例如,如果用户只是想提供一个访问菜单的宏,那么可以在内置菜单里添加进一个菜单项,然后把宏链接到该菜单项。

如果用户需要作更大范围的修改,最好创建一个新的完整组件。例如,如果用户想添加几个新菜单-每个都包括几个新的菜单项-那么创建一个包含所有新菜单的全新的菜单栏会比较合适一些。

使用子菜单

如果用户的菜单系统显得拥挤而且浏览困难,那么可以使用子菜单来有效地组织它们,并且通过减少每个时刻显示给用户的信息数量来增加Visual Basic应用程序的清晰度。例如,假定要创建一个包含了几个选项的菜单,如下图所示。

可以用下面所示的任何一种方法来使用子菜单,都能显示出相同的菜单项。

通过使用子菜单,可以连续地浏览一系列命令,而如果使用别的方式可能只好通过一连串的对话框才能完成这些命令。但是,如果需要创建较为复杂的一系列子菜单来演示一组命令,那么对话框是更好的解决办法。

使用快捷菜单

如果要让用户能够使用针对某个特定对象的命令,可以把此命令添加到该对象的内置快捷菜单中。在Microsoft Access里,可以创建自定义快捷菜单,并且在应用程序中把它们和对象关联起来。要做更多的了解,请参考“Building Application with Microsoft Access97”的第一章。

使用文本框、列表框和组合框

虽然可以在Visual Basic应用程序的菜单、快捷菜单和子菜单里添加内置或自定义文本框、列表框和组合框,但是这类控件还是用在工具栏里比较好。在某些需要显示或返回一种简单设置的情况下,使用菜单上的文本框会很方便。在显示菜单的同时,列表框和组合框也显示出当前的设置。但是,一旦用户在框里选择了新值,菜单也就随之被关闭了(用户不能查看或是修改设置,必须再次打开菜单来确认)。

如果要在菜单里添加内置文本框、列表框和组合框,须使用与添加内置命令相同的技术(参考本章后面的“添加命令和命令分组”一节的内容)。如果要添加自定义文本框、列表框和组合框,须使用和把它们添加到工具栏相同的技术(参考本章后面的“工具栏的设计时刻修改”一节的内容)。

 

菜单系统的设计时刻修改

菜单的设计时刻修改是指在应用程序运行前对菜单系统所进行的更改。包括添加、删除、移动和恢复菜单组件,以及设置菜单组件在运行时不随条件更改而变化的属性。

添加自定义菜单栏

如果要设计一组和当前Office应用程序的内置菜单栏或菜单栏有很大差别的菜单,需要创建一个新的菜单栏。这可以在Microsoft Access中使用“自定义”对话框,或者在Microsoft Excel、Word和owerPoint中使用Visual Basic 来实现。

使用“自定义”对话框

在Microsoft Access中,“自定义”对话框提供了一种添加自定义菜单栏的便利方法。

在Microsoft Access中添加菜单栏

如果“自定义”对话框尚未打开,用鼠标指到“视图”菜单中的“工具栏”上,然后单击“自定义”。
在“工具栏”表中,单击“新建”按钮。
在“工具栏名称”一栏内,键入新菜单栏的名字,然后单击“确定”。
出现一个该名字的浮动空菜单栏。

单击“属性”,显示“工具栏属性”对话框。
在“类型”一栏内,单击“菜单栏”。
用户还可以在“工具栏属性”对话框中设置自定义菜单栏的其他属性。要做更进一步的了解,请参考“Building Applications with Microsoft Access 97”的第一章。

这个新的菜单栏被添加到“工具栏”表的“工具栏”列表里。

使用Visual Basic

用户需使用CommandBars集合的Add方法来创建一个新的菜单栏;Add方法中的参数MenuBar决定了所创建的CommandBar 对象是否被显示成菜单栏。下面的例子创建了一个名叫“Custom Menu Bar”的新菜单栏。

Set cstm = CommandBars.Add(Name:="Custom Menu Bar", Position:=msoBarTop, _

MenuBar:=True, Temporary:=False)

在Microsoft Excel、Word和PowerPoint里,必须使用Visual Basic 创建新的菜单栏。在Microsoft Access 中既可以用Visual Basic 也可以用“自定义”对话框。

添加菜单

用户可以向任何内置或自定义菜单栏中添加一个菜单。因为Microsoft Office 应用程序能够在不同的内容中显示不同的内置菜单栏,所以也可以在不只一个菜单栏中添加一条相同的命令,以此保证用户无论是在什么上下关系里都可以使用该命令。例如,在Microsoft Excel 中,用户可能想给每个菜单栏添加一个专门的Accounting菜单,于是公司里的雇员可以在任何工作表里运行相应的宏。

在向菜单栏添加菜单时,用户可以为该菜单指定访问键;当显示菜单时,访问键下面加有下划线。

注释 虽然Microsoft Office应用程序可以在“自定义”对话框的“工具栏”表中列出包含快捷菜单的工具栏,但是用户既不能直接向这些工具栏添加自定义快捷菜单,也不能从中删除内置的快捷菜单。但是,用户能够在快捷菜单上添加、删除或自定义菜单项。要做更多的了解,请参考本节后面的“添加和修改快捷菜单”的内容。

使用“自定义”对话框

“自定义”对话框为向内置或自定义菜单栏添加菜单提供了一种便利的方法。

向菜单栏添加自定义菜单

如果“自定义”对话框尚未打开,用鼠标指到“视图”菜单中的“工具栏”上,然后单击“自定义”。
如果要进行修改的菜单栏没有显示出来,在“工具栏”表的“工具栏”一栏内该菜单栏名字旁边的复选框内打上对钩。
在“命令”表中,在“类别”一栏内单击“新菜单”。
将“新菜单”一项从“命令”栏拖到菜单栏中想添加菜单的地方。
在菜单栏中的“I”形条指出了在放开鼠标键时新菜单添加的位置。

在新菜单上单击鼠标右键,然后在“名字”栏中键入一个名字。在为该菜单设定的作为访问键的字母前面键入一个“&”符。
当单击该菜单的名字时,就显示出一个空菜单。要了解有关向新菜单中添加菜单项的内容,请参看本节后面“添加命令和命令分组”的内容。

“自定义”对话框还为向内置或自定义菜单栏添加任何内置菜单的副本提供了一种快捷的方法。用户可以自定义副本中的命令而不会影响到原来的内置菜单。

向菜单栏添加内置菜单的副本

如果“自定义”对话框尚未打开,将鼠标指到“视图”菜单中的“工具栏”上,然后单击“自定义”。
如果要进行修改的菜单栏没有显示出来,在“工具栏”表的“工具栏”一栏内该菜单栏名字旁边的复选框打上对钩。
在“命令”表中,在“类别”一栏内单击“内置菜单”。
将“内置菜单”一项从“命令”栏拖到菜单栏中想添加菜单的地方。
在菜单栏中的“I”形条指出了在放开鼠标键时新菜单添加的位置。

技巧 用户也可以打开包含了要被复制的菜单的菜单栏,然后按下“CTRL”,同时将该菜单从中拖到另一个菜单栏里,完成复制。

使用Visual Basic

用户需使用CommandBarControls集合中的Add方法来向CommandBar对象添加菜单,该对象表示某个菜单栏。在msoControlPopup里设置Add方法的Type参数指示所添加的控件用来显示一个菜单。显示菜单的控件叫做pop-up(弹出)控件。参数Before指示新菜单在原有菜单栏诸菜单中的位置。通过Add法设置对象CommandBarPopup的Caption属性,用于指定菜单的名称和访问键。以下这个Microsoft Excel的例子在工作表菜单栏的“窗口”菜单左边添加了一个名为“Accounting”的新菜单。

------分隔线----------------------------
标签(Tag):access access数据库 数据库 access视频教程 access教程 access技巧 access下载
------分隔线----------------------------
推荐内容
猜你感兴趣