关于参照下拉菜单或快捷菜单
使用与激活子菜单类似的方法,可以激活或停用另一个下拉式菜单或快捷菜单。这称为“菜单参照”。 可以使用两种不同的方法来参照下拉菜单或快捷菜单:相对和绝对。“绝对参照”使用菜单项在菜单层次结构中的绝对位置。“相对参照”使用自定义组名和元素 ID。由于“相对参照”本质上是动态的,因此建议使用“相对参照”。 绝对参照除了参照菜单项之外,还可以使用以下语法来激活或停用菜单项: $Pn.i=xxx $ 用于加载菜单部分;Pn 用于指定活动的菜单部分(0 到 16 为有效值);i 用于指定菜单项数量;xxx(如果存在)用于指定灰显字符或标记字符的字符串。 下例使用 $Pn=xxx 语法,将复选标记添加到别名为 POP7 的菜单项 1。 $P7.1=!. 在 AutoCAD 中,以下样例使用 AutoLISP menucmd 函数来参照下拉菜单项或快捷菜单项。由于自定义文件是动态的(通过加载局部 CUIx 文件),因此以下语法在任何情况下都不起作用。 (menucmd "P1.2=~") 此语法取决于菜单项的位置;如果使用 CUILOAD 命令在 POP1 前插入新项,则此语法不起作用。 菜单项编号是连续的,与菜单的层次结构无关。 要使菜单项更容易定位,而又不必考虑其在菜单层次结构中的位置,请使用以下语法:
相对参照可以使用 AutoLISP menucmd 函数,以基于自定义组和元素 ID 来参照下拉菜单项或快捷菜单项。以下语法基于元素 ID 参照菜单项。 (menucmd "Gcustomizationgroup.element_id=value") 下例使用“相对参照”语法来禁用存储在 ACAD 自定义组中的菜单项 ID_Line。不管菜单项位于菜单中的什么位置,它都能起作用。 (menucmd "GACAD.ID_Line=~") 如果已知主自定义 (CUIx) 文件中包含的内容,则可以使用参照主 CUIx 文件的其他菜单项创建局部自定义 (CUIx) 文件。这样,局部 CUIx 文件和特定的基本自定义文件就可以一起使用。 AutoLISP 对标签状态的访问AutoLISP menucmd 函数接受 $Pn=xxx 命令字符串,但不接受前导 $。对于这些函数,该命令字符串的 xxx 部分可以为特殊值。
例如,如果 POP6 部分的第五项被禁用,则下列 menucmd 代码会返回下列字符串值。 (menucmd "P6.5=?") returns "~" (menucmd "P6.5=#?") returns "P6.5=~" 父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-5-13 09:06
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.