添加和显示快捷菜单

   

快捷菜单是一个浮动命令栏,它在用户单击鼠标右键时显示。快捷菜单可包含与命令栏同样的控件类型,控件在其中的行为与在命令栏中一样。然而,在大多数应用程序中,不能由应用程序接口创建或修改快捷菜单,因此,必须在运行时间创建和修改快捷菜单。

在运行时间添加快捷菜单

快捷菜单和其他工具栏的唯一区别是:用 Add 方法创建快捷菜单时,必须将 msoBarPopUp 指定为 position 参数的值。以下示例新建一个快捷菜单,在其中添加两个控件(带标题),然后用 ShowPopup 方法显示该新菜单。

Set copyAndPasteMenu = CommandBars.Add( _
    Name:="Custom", Position:=msoBarPopup, _
    Temporary:=True)
Set copy = copyAndPasteMenu.Controls.Add
With copy
    .FaceId = CommandBars("Standard").Controls("Copy").Id
    .Caption = "Copy the selection"
End With
Set paste = copyAndPasteMenu.Controls.Add
With paste
    .FaceId = CommandBars("Standard").Controls("Paste").Id
    .Caption = "Paste from the Clipboard"
End With
copyAndPasteMenu.ShowPopup 200, 200

显示快捷菜单

如前面示例所述,可用 ShowPopup 方法显示快捷菜单。

如果容器应用程序可为用户的操作指定相应的事件过程,那么就可用显示一个快捷菜单的过程响应一个单击鼠标右键的事件。然而,并非所有的应用程序都支持事件过程。请查看容器应用程序的文档以确定该应用程序是否支持事件过程。

对快捷菜单作运行时间修改

对快捷菜单的任意修改都必须在运行时间进行,并且所作的修改通常仅限于改变菜单中控件的外观或功能。有关添加和管理菜单项的详细信息,请参阅添加和管理菜单栏和菜单项