Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

菜单和工具栏知识(5)-菜单系统的设计时刻修改

时 间:2004-12-16 00:00:00
作 者:竹笛   ID:8  城市:上海  QQ:2851379730点击这里给张志发消息
摘 要:菜单和工具栏知识(5)-菜单系统的设计时刻修改 
正 文:

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

添加自定义菜单栏

如果要设计一组和当前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”的新菜单。

Set cstmAccounting = CommandBars("Worksheet Menu Bar").Controls _

.Add(Type:=msoControlPopup, Before:=9)

cstmAccounting.Caption = "&Accounting"

注释 用户在新菜单的名称里作为该菜单访问键的字母前面加一个“&”符。一旦添加好了菜单,当用户通过Controls(Index)引用该菜单时,可以在菜单名中使用“&”符,也可以不用。

添加子菜单

子菜单是附加在另一个菜单(父菜单)旁边,靠近某个菜单项(子菜单标题) 的菜单。用户可以给菜单、其他的子菜单和快捷菜单添加子菜单。

当用户单击菜单栏中的菜单名

Access软件网官方交流QQ群 (群号:483923997)       Access源码网店


常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助