CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于创建级联子菜单 (VBA/ActiveX)

2023-1-4 22:22| 发布者: admin| 查看: 733| 评论: 0|来自: AutoCAD

摘要: 若要添加级联子菜单,请使用 AddSubmenu 方法创建子菜单。

若要添加级联子菜单,请使用该方法创建子菜单。AddSubmenu

此方法创建一个新对象并将其添加到指定的菜单中。这种特殊类型的对象被分配了 的类型。PopupMenuItemPopupMenuItemacSubmenu

该方法采用三个参数作为输入:IndexLabelTagAddSubmenu

Index 参数是一个整数,用于指定新菜单项在菜单中的位置。索引以位置零 (0) 开头,作为菜单上标题之后的第一个位置。若要将新菜单项添加到菜单末尾,请将 Index 参数设置为等于菜单的属性。(菜单的属性表示该菜单上的菜单项总数。CountCount

Label 参数是一个字符串,用于定义菜单项的内容和格式。用户看到的菜单项显示的文本称为 Caption,它是通过解释标签中包含的所有 DIESEL 字符串表达式和特殊代码从标签派生的。例如,标签“&Edit”会生成标题“Edit”。

Tag 参数或名称标签是由字母数字和下划线 (_) 字符组成的字符串。此字符串唯一标识给定菜单中的菜单项。

该方法不返回它创建的对象。相反,它会返回子菜单指向的新菜单。然后,可以像普通菜单一样填充作为对象返回的新菜单。AddSubmenuPopupMenuItemPopupMenu

创建并填充子菜单

此示例创建一个名为“TestMenu”的新菜单,并将其添加到名为“OpenFile”的子菜单中。然后,子菜单将填充一个名为“打开”的菜单项,该菜单项在执行时打开图形。最后,菜单显示在菜单栏上。

Sub Ch6_AddASubMenu()
 Dim currMenuGroup As AcadMenuGroup
 Set currMenuGroup = ThisDrawing.Application.MenuGroups.Item(0)

 ' Create the new menu
 Dim newMenu As AcadPopupMenu
 Set newMenu = currMenuGroup.Menus.Add("TestMenu")

 ' Add the submenu
 Dim FileSubMenu As AcadPopupMenu
 Set FileSubMenu = newMenu.AddSubMenu("", "OpenFile")

 ' Add a menu item to the sub menu
 Dim newMenuItem As AcadPopupMenuItem
 Dim openMacro As String
 ' Assign the macro the VB equivalent of "ESC ESC _open "
 openMacro = Chr(3) + Chr(3) + "_open "

 Set newMenuItem = FileSubMenu.AddMenuItem _
 (newMenu.count + 1, "Open", openMacro)

 ' Display the menu on the menu bar
 newMenu.InsertInMenuBar _
 (ThisDrawing.Application.menuBar.count + 1)
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-1-8 19:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部