- 积分
- 3803
- 明经币
- 个
- 注册时间
- 2010-8-26
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
楼主 |
发表于 2014-2-23 14:47:56
|
显示全部楼层
自己解决了,代码如下:
Function 在小多中创建按钮(程序文件简单名, 发送的窗口命令)
'用这个代码,新建的按钮在菜单上方,可容纳无数个按钮。命令重复的按钮会用最后一个
On Error Resume Next
Dim currMenuGroup As AcadMenuGroup
Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)
Dim newMenu As AcadPopupMenu
'下面是创建菜单“小多”
Set newMenu = currMenuGroup.Menus.Add("小多" & Chr(Asc("&")))
Set newMenu = currMenuGroup.Menus("小多" & Chr(Asc("&")))
Dim 数组 As New Dictionary
Dim macro As String
macro = Chr(vbKeyEscape) + Chr(vbKeyEscape)
Dim subMenuItemPoint As AcadPopupMenuItem
'这是增加新的按钮到数组中,如果原有命令冲突则会只剩下后加入的按钮
数组(macro & 发送的窗口命令 & " ") = Chr(Asc("&")) & 程序文件简单名
For Each TTT In newMenu
数组(TTT.macro) = TTT.Caption
Next TTT
'下为删除菜单上的所有按钮
For Each uuu In newMenu
uuu.Delete
Next uuu
'上为删除菜单上的所有按钮
For c = 0 To 数组.Count - 1
'创建程序文件简单名为名的按钮,单击按钮时发出"-VBARUN XIANSHISHIYIANDAIMAYONGCHUANGTI "命令
Set subMenuItemPoint = newMenu.AddMenuItem(newMenu.Count + 1, 数组.Items(c), 数组.Keys(c))
Next c
newMenu.InsertInMenuBar (ThisDrawing.Application.MenuBar.Count + 1) '原代码
End Function |
|