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

来源:转载

目 录

修改用户界面的工具

用户界面的修改范围

选择对用户界面进行最佳增强

菜单系统

菜单系统的设计时刻修改

菜单系统的运行时刻修改

工具栏

工具栏的设计时刻修改

工具栏的运行时刻修改

菜单项和工具栏的控制标识符

建立有用的自定义应用程序的基本原则之一是提供用户与Visual Basic应用程序之间简洁一致的交互方式。菜单和工具栏为向用户显示简单的命令和选项提供了快捷、方便,而且被广泛接受的方式。在Microsoft Office 97中,很容易对菜单和工具栏进行设计和修改;Microsoft Access 97,Microsoft Excel 97,Microsoft Word 97和Microsoft PowerPoint 97都采用了统一的自定义化的界面-“自定义”对话框。因为所有的菜单和工具栏都用同样类型的类来表示-CommandBar 对象-所以也很容易从Visual Basic中来定义和控制它们。

本章的内容包含了被Microsoft Access,Microsoft Excel,Microsoft Word 和Microsoft PowerPoint 共享的菜单和工具栏所具有的自定义化特征。关于如何自定义Microsoft Access 97中的菜单和工具栏,请参考“Building Applications with Microsoft Access 97”的第一章,它包含在“Microsoft Access 97 and Microsoft Office 97, Developer Edition”中。这本书的联机版本可以从“Microsoft Access 97 and Microsoft Office 97, Professional Edition”所附带的光盘中得到。

注释 Microsoft Outlook不提供自定义菜单和工具栏的接口。因此,本章所有关于“自定义”对话框的内容均不适用于Microsoft Outlook。

修改用户界面的工具

有两种自定义菜单栏和工具栏的工具:共享“自定义”对话框和Visual Basic。虽然,在每个Office应用程序之间,“自定义”对话框仍有很小的区别,但是用于修改菜单栏和工具栏的可编程对象在所有的应用程序中都是相同的。本节讲述了“自定义”对话框和共享可编程对象,以及何时和怎样使用这些工具。

“自定义”对话框

Office应用程序(包括Outlook)提供了相同的接口-“自定义”对话框-来对Visual Basic应用程序进行设计时刻更改。对菜单栏和工具栏的设计时刻更改是指在应用程序运行前的任何更改。这包括添加、删除、移动、恢复菜单部件和工具栏控件,以及设置它们在运行时条件改变后不会改变的属性。

本章的这一节讨论怎样使用“自定义”对话框和Visual Basic代码来修改菜单栏和工具栏。在两种技术都可作同样修改的场合下,使用“自定义”对话框能更快和更容易地完成设计时刻更改。

显示“自定义”对话框

在“视图”菜单里,指到“工具栏”,然后单击“自定义”。

以下图示是PowerPoint 中“自定义”对话框里的“工具栏”一表。

Microsoft Access,Microsoft Excel,和Microsoft Word和Microsoft PowerPoint一样,都在“自定义”对话框(含“工具栏”表,“命令”表和“选项”表)中提供了相同的控件,但是前三种应用软件还在“工具栏”表和“命令”表中包含了其他一些元素,专门用于这些软件本身的自定义。这些元素将在下面的段落中进行介绍。

Microsoft Access “工具栏”表包含一个“属性”按钮,用来显示“工具栏属性”对话框。使用这个对话框来设置内制属性或自定义菜单栏和工具栏。关于使用“工具栏属性”对话框的详细说明,请参考“Building Applications with Microsoft Access 97”的第一章。

Microsoft Excel “工具栏”表包含一个“附加”按钮,用来显示“附加工具栏”对话框。用户可以用这个对话框把菜单栏从应用程序的工作区拷贝到活动工作区。要作更多的了解,请参考本章后面“用户界面的更改范围”一节的内容。

Microsoft Word “命令”表中包含一个“保存”栏,用来指定用户在“自定义”对话框中生成的设计时刻更改的保存位置。当单击“工具栏”表中的“新建”按钮时会出现“新建工具栏”对话框,其中包含有“生成”工具栏,供该对话框使用。要做更进一步的了解,请参考本章后面“用户界面的更改范围”一节的内容。“命令”表还包含一个“键盘”按钮,用于显示“自定义键盘”对话框;用户能用它来给任何宏或内置Word 命令指定快捷键。

当用户在任何Microsoft Office 应用程序中打开“自定义”对话框后,就可以按同样的步骤来修改任何内置或自定义的菜单和工具栏,步骤如下。

在“工具栏”对话框的“工具栏”一表中,用户可以选择出要显示和修改的菜单栏或工具栏,在它们的名字前面的复选框里打上钩。新创建的菜单栏或工具栏会自动显示出来。

单击任何一个菜单项(包括菜单和子菜单的标题)或者是工具栏控件,把它选中。当打开“自定义”对话框的时候,和控件相关联的命令是不能运行的。

在选定的项或控件上按下鼠标右键,显示出快捷菜单,该菜单中包含了可使用的自定义选项。菜单命令和工具栏按钮的选项包括重新设置命令;删除项或控件;更改它的名字;指出它是否有名字及图标,或是两者都有;修改它的图标;以及设置它开始一组 (也就是说,在它的上方或下方有一条线)。

注释 某些内置的命令或控件不能使用这些选项中的一种或几种;在快捷菜单上不能使用的选项将变成阴暗显示。

当“自定义”对话框打开时,用户可以通过拖放来重新安排项和控件的顺序,还可以从“命令”表里添加新的项和控件。要做更多的了解,请参考本章后面“菜单系统的设计时刻修改”以及“工具栏的设计时刻修改”两节里的有关步骤。

Visual Basic

通常,要创建或修改引进了Visual Basic程序的Microsoft Office应用程序的用户界面,应当使用“自定义”对话框。用户通过“自定义”对话框对用户界面所做的更改叫做设计时刻更改。

用户也可以在Visual Basic代码中使用共享的Microsoft Office对象模型的命令栏部分,以此来添加和修改菜单及工具栏:高级对象是CommandBars集合,在所有的Microsoft Office应用程序中由CommandBars属性返回。每一个菜单栏、快捷键菜单,以及工具栏都可以用该集合中的某个CommandBar对象来表示。每一个CommandBar对象包括一个CommandBarControls集合;在菜单栏或工具栏上的每个控件都可以用几个这样的集合来表示。

要了解有关CommandBars集合、它所包含的所有对象,以及这些对象的属性和方法的更多内容,请参考“命令栏概述”和“帮助”中相应的对象、属性和方法主题。

用户也可以编写代码,运行一次就能创建或更改菜单栏或工具栏的元素;实际上,这些代码模拟了在“自定义”对话框中所进行的设计时刻更改。但是在某些Microsoft Office应用程序中,可能要求用户将这类Visual Basic 代码和“自定义”对话框组合起来去设计Visual Basic应用程序。在以下一些常见场合,用户必须使用代码和容器应用程序界面的组合:

如果用户不能使用“自定义”对话框来创建一个新的菜单栏时,就需要使用Visual Basic来完成创建菜单栏的任务。在Visual Basic中建好菜单栏后,可以使用“自定义”对话框来设计该菜单栏中的各个菜单。

如果用户的容器应用程序不能在“自定义”对话框打开时,显示内置或自定义的快捷菜单,用户必须使用Visual Basic代码去修改这些快捷菜单。

如果用户的容器应用程序不能提供用于在工具栏上添加或修改文本框、下拉式列表框,或者组合框时,用户必须使用Visual Basic 代码来添加和设计这些控件。

用户也可以编写存在于Visual Basic应用程序中的代码,该应用程序在运行时对菜单系统进行修改(例如,用户可以编写在某种条件下禁用某菜单中的某一命令的代码,或者根据用户的动作给某个菜单栏添加一个菜单)。在用户的Visual Basic 应用程序运行时,用户代码产生的更改叫做运行时刻更改。

用户界面的更改范围

关于在何处对用户界面进行更改以及怎样存储更改,每一个Microsoft Office应用程序使用略微不同的规则。理解怎样才能控制更改的范围是非常重要的,因为它决定了用户的Visual Basic 应用程序显示用户自定义界面的能力。

Microsoft Access

下面的内容讲述了如何在Microsoft Access中管理和存储菜单栏和工具栏。要了解更多有关使用Microsoft Access菜单栏和工具栏的内容,请参考“Building Applications with Microsoft Access 97”的第一章。

可以通过三种方法,在用户自定义的应用程序中使用自定义菜单栏和快捷菜单:

附加到窗体或报表。无论用户在什么时候打开窗体或在打印预览里显示报表,Microsoft Access 都会显示用户的自定义菜单栏。要做更进一步了解,请参考“帮助”里的“MenuBar 属性”。

作为快捷菜单附加到窗体、窗体控件,或报表上。无论用户什么时候在附加窗体、控件或报表上单击鼠标右键,Microsoft Access 都会显示出用户的自定义菜单。要做更进一步了解,请参考“帮助”中的“ShortCutMenuBar属性”。

作为用户应用程序的共用菜单栏。除了已经有自己的自定义菜单栏的窗体或报表之外,Microsoft Access会在所有的窗口里显示用户的自定义菜单栏。(窗体或报表的自定义菜单栏使共用菜单栏无效。)用户可以通过“启动”对话框来指定在整个应用中使用的菜单栏。

用户可以在一个应用程序中使用一个或几个自定义工具栏。创建需要的工具栏,然后使用适当的方法显示该自定义工具栏:

分享给朋友:
您可能感兴趣的文章:
随机阅读: