CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于向菜单中添加新菜单项 (VBA/ActiveX)

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

摘要: 若要向菜单中添加新的菜单项,请使用 AddMenuItem 方法。此方法创建一个新的 PopupMenuItem 对象,并将其添加到指定的菜单中。

若要向菜单中添加新菜单项,请使用该方法。此方法创建一个新对象并将其添加到指定的菜单中。AddMenuItemPopupMenuItem

该方法将四个参数作为输入:索引、标签、标签AddMenuItem

指定索引参数

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



第一个索引位置为零 (0),分隔符作为具有自己的索引位置的单个菜单项列出。图中菜单的属性将是六(6)。若要在“水平平铺”和“垂直平铺”之间添加菜单项,请将 Index 参数设置为两 (2),这是“垂直平铺”菜单项的索引。这会将新菜单项插入索引二 (2) 中,并将所有剩余的菜单项向下凸出一个索引位置。Count

创建菜单项后,无法通过属性更改菜单项的索引。要更改现有菜单项的索引,必须删除菜单项并将其重新添加到其他位置,或者添加或删除周围的菜单项,直到实现正确的放置。Index

指定标签参数

标签是定义菜单项的内容和格式的字符串。菜单项标签可以包含 DIESEL 字符串表达式,这些表达式在每次显示标签时有条件地更改标签。

除了 DIESEL 字符串表达式外,标签还可能包含特殊代码。例如,直接放在字符前面的与号 (&) 将该字符指定为快捷键。

用户看到的为菜单项显示的文本称为标题,它通过解释标签中包含的所有 DIESEL 字符串表达式和特殊代码从标签派生。例如,标签“&Edit”生成标题“编辑”。

创建菜单项后,可以使用属性更改菜单项的标签。Label

指定标记参数

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

创建菜单项后,可以使用属性更改菜单项的标记。TagString

指定宏参数

宏是在选择菜单项时执行特定操作的一系列命令。菜单宏可以只是完成任务的击键记录,也可以是命令、AutoLISP、DIESEL 或 ActiveX 编程代码的复杂组合。

创建菜单项后,可以使用属性更改菜单项的宏。Macro

将菜单项添加到弹出菜单

本示例创建一个名为“TestMenu”的新菜单并插入一个菜单项。菜单项的名称为“打开”,分配给菜单项的宏是 OPEN 命令。

Sub Ch6_AddAMenuItem()
 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 a menu item to the new menu
 Dim newMenuItem As AcadPopupMenuItem
 Dim openMacro As String
 ' Assign the macro the VBA equivalent of "ESC ESC _open "
 openMacro = Chr(3) + Chr(3) + "_open "

 Set newMenuItem = newMenu.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 06:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部