Jeff_M 发表于 2004-11-5 19:50:32

将PopMenu插入菜单栏

好吧,我现在被踩了,所以我会问,
有谁知道如何在菜单栏中插入下拉菜单?
我能够通过VBA成功加载我的菜单,但无论我做什么,我都无法将其插入到The Menbar中。
任何帮助都非常感谢
谢谢
马克
**** Hidden Message *****

Jeff_M 发表于 2004-11-5 20:10:25


如果您已经达到下拉次数的限制,则不会显示新的下拉次数,我不记得该限制是什么......
无论如何,一旦您有了PopupMenus集合,您就可以添加菜单,然后是AddMenuItems,然后是InsertInMenuBar。

Keith™ 发表于 2004-11-5 20:48:06

实际上只涉及到一个下拉菜单,
我知道如何访问下拉菜单集合,并且我正在使用InsertinMenuBar属性,但是我仍然没有成功插入它。这是目前为止的代码
谢谢Jeff

Sub Load_MyCompany_Menu()
Dim MenuGroup As AcadMenuGroup
Dim SelectedMenuGroup As String
Dim Retval As Variant
On Error Resume Next
                  
SelectedMenuGroup = "Path\Filename.mnc"
Set MenuGroup = ThisDrawing.Application.MenuGroups.Load(SelectedMenuGroup, False)
If MenuGroup Is Nothing Then
Retval = MsgBox("The MyCompany menu is already loaded", vbInformation, "MyCompany")
Exit Sub
Else
Retval = MsgBox("The MyCompany menu has been successfully loaded", vbInformation, "Filename")
End If
End Sub

Keith™ 发表于 2004-11-5 22:44:57

Mark,
看看这是否有助于您解决问题.....

Sub addMenuToToolBar()
Dim MenuGroup As AcadMenuGroup
Dim MenuPops As AcadPopupMenu
Set MenuGroup = ThisDrawing.Application.MenuGroups.Item("Mymenu")
On Error Resume Next
MenuGroup.Menus.Add ("TestMenu") 'This is the name of a Popup in your menu
Set MenuPops = MenuGroup.Menus.Item("TestMenu")
On Error GoTo 0
MenuPops.InsertInMenuBar 12 'insert at spot 12 in the bar
End Sub

MikePerry 发表于 2004-11-5 23:42:55

菜单流行的限制是16...至少在菜单中,我没有以编程方式测试限制

Keith™ 发表于 2004-11-6 09:18:02

嘿,基思
不要怀疑你,但你确定吗?
哦,我想你指的是16个跨菜单栏?如果是这样,那么我相信你是对的,但我认为999是实际的POP菜单时期。

MikePerry 发表于 2004-11-6 09:21:35

太好了,我会试试的杰夫,非常感谢你!
我明白了,我得到了这个系列,但我没有告诉VBA把它加入流行系列。
标记

Keith™ 发表于 2004-11-6 09:46:14

我的想法是我们还需要声明一个变量来保存我们当前的菜单,这样它们就不会被覆盖。我在做支持路径模块时学到了这一课。

MikePerry 发表于 2004-11-6 10:50:50


您可以根据需要定义任意多个弹出菜单,可以想象有一千个或更多…但是,当通过定义的MNU或MNS显示时,AutoCAD在菜单栏上仅显示16个
除此之外,您只需彼此交换弹出菜单即可。

Keith™ 发表于 2004-11-6 11:32:28

好吧,那么,如果一个是基本菜单,而一些是部分菜单呢
您所说的是,一个菜单栏上只能有16个
我认为有999的限制,但这是每个菜单文件还是在AutoCAD中,以及所有POP的组合
标记
页: [1] 2
查看完整版本: 将PopMenu插入菜单栏