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

VBA自定义菜单和菜单栏(六)

时 间:2009-09-05 00:00:00
作 者:江羽   ID:3967  城市:南昌
摘 要:(全文结束)

正 文:

十、快捷菜单上的子菜单

可以在快捷菜单栏上创建子菜单。当您单击某个命令控件时,父菜单的一侧会出现子菜单。作为子菜单控件的命令在其名称右边有一个黑色小箭头。

10.1在快捷菜单栏上新建子菜单

以下示例在工作表“单元格”快捷菜单上添加名为“NewSub”的新子菜单:

Sub ShortcutSub_Create()

   CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _

   .Caption = "NewSub"

    '显示快捷菜单栏。

    ' 200, 200指的是屏幕上的位置的像素为XY坐标。

   CommandBars("Cell").ShowPopup 200, 200

End Sub

注意:由于没有添加任何菜单项,因此该子菜单为空。

10.2在快捷菜单栏的子菜单上创建命令控件

下面的宏向您在“单元格”快捷菜单上创建的子菜单“NewSub”中添加 SubItem1 命令。然后,当您单击“SubItem1”时,它将运行 Code_SubItem1 宏:

Sub ShortcutSub_AddItem()

Dim newSubItem as Object

   Set newSubItem = CommandBars("Cell").Controls("NewSub”)

   With newSubItem

      .Controls.Add(Type:=msoControlButton, before:=1).Caption = "subItem1"

      '点击时subItem1 将运行Code_SubItem1宏。

      .Controls("subItem1").OnAction = "Code_SubItem1"

   End With

   '显示快捷菜单栏。

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

 

10.3禁用快捷菜单上的子菜单项控件

以下代码示例禁用“NewSub”子菜单上的 SubItem1 命令:

Sub ShortcutSub_DisableItem()

   CommandBars("Cell").Controls("NewSub") _

   .Controls("subItem1").Enabled = False

   '显示快捷菜单栏。

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

注意:要启用已禁用的项目,请将 Enabled 属性设置为 True

10.4删除快捷菜单上的子菜单项控件

以下示例删除“NewSub”子菜单上的 SubItem1 命令:

Sub ShortcutSub_DeleteItem()

   CommandBars("Cell").Controls("NewSub").Controls("subItem1").Delete

   '显示快捷菜单栏。                                      

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

10.5禁用快捷菜单上的子菜单控件

以下代码示例禁用“单元格”快捷菜单栏上的“NewSub”子菜单:

Sub ShortcutSub_DisableSub()

   CommandBars("Cell").Controls("NewSub").Enabled = False

   '显示快捷菜单栏。

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

注意:要启用已禁用的项目,请将 Enabled 属性设置为 True

10.6删除快捷菜单上的子菜单控件

以下代码示例删除您在“单元格”快捷菜单栏上创建的“NewSub”子菜单:

Sub ShortcutSub_DeleteSub()

   CommandBars("Cell").Controls("NewSub").Delete

   '显示快捷菜单栏。

   ' 200, 200指的是屏幕上的位置的像素为XY坐标

   CommandBars("Cell").ShowPopup 200, 200

End Sub

 

上一章 

Word文稿及实例代码:点击下载此附件



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

常见问答:

技术分类:

相关资源:

专栏作家

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