要通过 AutoCAD ActiveX/VBA 为菜单项指定加速键,请使用给定菜单项的 Label 特性。要指定加速键,请在标签中要成为加速键的字符前直接插入 & 的 ASCII 等价值。例如,标签 Chr(Asc("&")) + "Edit" 将显示为“Edit”,并使用字符“E”作为加速键。
本例重复了向弹出式菜单添加菜单项中的样例,为“TestMenu”菜单和“Open”菜单添加加速键。使用“S”作为“TestMenu”菜单的加速键,使用“O”作为“Open”菜单的加速键。
Sub Ch6_AddAMenuItem()
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
' 创建新菜单
Dim newMenu As AcadPopupMenu
Set newMenu = currMenuGroup.Menus.Add _
("Te" + Chr(Asc("&")) + "stMenu")
' 向新菜单添加菜单项
Dim newMenuItem As AcadPopupMenuItem
Dim openMacro As String
' 给宏指定“ESC ESC _open”的 VBA 等价值
openMacro = Chr(3) + Chr(3) + "_open "
Set newMenuItem = newMenu.AddMenuItem _
(newMenu.count + 1, Chr(Asc("&")) _
+ "Open", openMacro)
' 在菜单栏上显示菜单
newMenu.InsertInMenuBar _
(ThisDrawing.Application.menuBar.count + 1)
End Sub