CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

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

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

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

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

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

该方法将三个参数作为输入:索引、标签和标签AddSubmenu

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

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

GMT+8, 2024-5-12 04:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部