当前位置: IT大杂烩 > 人工智能  > AutoCad菜单定义详解(1)

AutoCad菜单定义详解(1)

www.someabcd.com  网友分享于:May 19, 2018 1:40:52 PM

 34.2.1 菜单项语法

  菜单项由名称标记、标签和菜单宏组成(除了Image部分不允许名称标记)。一个菜单项通常占文件的一行,格式如下:

  name_tag label menu_macro

  其中各项说明:

  (1) name_tag:名称标记用于在菜单文件中唯一地标识一个菜单项,由字母和下划线“_”组成,放置在菜单项标签之前。

  (2) label:标签内容包含在方括号中,其格式和用法在每个菜单部分中都有所不同,具体定义详见下面对各菜单部分的介绍。

  (3) menu_macro:菜单宏由一系列特殊字符构成(见表34-3),用于定义一个命令及其参数系列。

  表34-3 菜单宏中使用的特殊字符

  字符

  说明

  ;

  产生 ENTER

  ^M

  产生 ENTER

  ^I

  产生 TAB

  SPACEBAR

  输入空格;菜单项中命令序列之间的空格等价于按 SPACEBAR

  /

  暂停以等候用户输入(不能用在加速键部分)

  _

  转换 AutoCAD 命令及其后的关键字

  +

  延续菜单宏到下一行(如果是最后一个字符)

  =*

  显示当前顶层的图像、下拉或快捷菜单

  *^C^C

  重复项的前缀

  $

  加载菜单部分或输入条件 DIESEL 宏表达式 ($M=) 的特殊字符

  ^B

  切换捕捉开或关 (CTRL+B)

  ^C

  取消命令 (ESC)

  ^D

  切换坐标显示开或关 (CTRL+D)

  ^E

  设置下一个等轴测平面 (CTRL+E)

  ^G

  切换栅格开或关 (CTRL+G)

  ^H

  产生退格

  ^O

  切换正交模式开或关 (CTRL+O)

  ^P

  切换 MENUECHO 开或关

  ^Q

  回显所有提示、状态列表和打印输入 (CTRL+Q)

  ^T

  打开或关闭数字化仪 (CTRL+T)

  ^V

  切换当前视口 (CTRL+V)

  ^Z

  禁止在菜单项末尾自动增加 SPACEBAR 的空字符

  例如,某菜单项定义如下:

  ID_New [&New... Ctrl+N]^C^C_new

  其中“ID_New”是名称标记;标签中的“&New... Ctrl+N”给出了在菜单中的显示内容;“^C^C_new”为菜单宏。

  34.2.2 菜单组

  菜单文件中的菜单组部分用“***MENUGROUP”标签进行标识,该标签定义了菜单组名,即将菜单文件的内容定义为某个组的成员。菜单组定 义是一个字符串,最多可包括32个字母数字型的字符(不允许使用空格和标点符号)。例如,“acad.mns”文件中菜单组的定义为:

  ***MENUGROUP=ACAD

  使用菜单组的目的是在使用局部菜单时,将组中的项与其他项区分开来,以进行单独的加载或卸载。因此,该标签必须在使用名称标记机制的菜单部分之前使用。

  每个菜单都有自己的菜单组标签。但多个局部菜单可使用相同的名称标记。因此,名称标记只需在定义该标记的菜单文件中唯一。

  菜单组部分不包含菜单项。

  34.2.3 按钮和辅助菜单

  菜单文件中的按钮菜单部分用“***BUTTONSn”标签进行标识,辅助菜单部分用“***AUXn”标签进行标识。这两部分的格式是完全一 样的。不同之处在于系统鼠标使用辅助菜单,而其他定点设备(比如,数字化仪或其他输入设备)则使用按钮菜单。所有对辅助菜单的引用都适用于按钮菜单:例如 BUTTONS1菜单的功能与AUX1菜单的功能相同。

  用户可通过对系统鼠标的操作来调用相应的菜单,具体对应关系如表34-4所示。

  表34-4 按钮及相关的菜单部分

  键/按钮序列

  菜单部分

  单击按钮

  AUX1和BUTTONS1

  SHIFT+单击按钮

  AUX2和BUTTONS2

  CTRL+单击按钮

  AUX3和BUTTONS3

  CTRL+SHIFT+单击按钮

  AUX4和BUTTONS4

  注意 按钮和辅助部分仅在用作主菜单时有效,而在用作子菜单时被忽略。

  34.2.4 下拉菜单和快捷菜单

  下拉和快捷菜单都显示为级联菜单(也称为步进菜单或层次菜单)。因此,这些菜单无须交换菜单区域,即可进行逻辑分组。

  菜单文件中的下拉菜单部分用“***POP1”~“***POP499”标签进行标识;而快捷菜单部分用“***POP0”和 “***POP500”~“***POP999”进行标识。其中,POP0菜单部分定义缺省的对象捕捉快捷菜单,POP500~POP999菜单部分用来 定义上下文相关快捷菜单。

  每个菜单部分都可拥有一个或多个别名,这些别名由菜单部分标签后的**alias标签定义。AutoCAD通过别名(如**GRipS)引用上下文菜单并在特定情况下使用它们。

  1. 菜单项的定义

  下拉菜单项的定义中,标签项包含了该菜单项的菜单栏标题,以及定义菜单和子菜单项。例如在ACAD.MNS文件中的下拉菜单的“**FILE”部分定义如下:

  ***POP1

  **FILE

  ID_MnFile [&File]

  ID_New [&New... Ctrl+N]^C^C_new

  ID_Open [&Open... Ctrl+O]^C^C_open

  ID_DWG_CLOSE [&Close]^C^C_close

  ID_PartialOp [$(if,$(eq,$(getvar,fullopen),0),,~)Partia&l Load]^C^C_partiaload

  [--]

  ID_Save [&Save Ctrl+S]^C^C_qsave

  ID_Saveas [Save &As...]^C^C_saveas

  ID_ETransmit [e&Transmit...]^C^C_etransmit

  ID_Publish [Publish to &Web...]^C^C_publishtoweb

  ID_Export [&Export...]^C^C_export

  [--]

  ID_PlotSetup [Pa&ge Setup...]^C^C_pagesetup

  ID_PlotMgr [Plotter &Manager...]^C^C_plottermanager

  ID_PlotStyMgr [Plot St&yle Manager...]^C^C_stylesmanager

  ID_PReview [Plot Pre&view]^C^C_preview

  ID_Print [&Plot... Ctrl+P]^C^C_plot

  [--]

  ID_MnDrawing [->Drawing &Utilities]

  ID_Audit [&Audit]^C^C_audit

  ID_Recover [&Recover...]^C^C_recover

  [--]

  ID_BupdateA [&Update Block Icons]^C^C_blockicon

  [--]

  ID_Purge [<-&Purge...]^C^C_purge

  ID_SendMail [Sen&d...]

  ID_Props [Drawing Propert&ies...]^C^C_dwgprops

  [--]

  ID_MRU [Drawing History]

  [--]

  ID_APP_EXIT [E&xit]^C^C_quit

  其中,在标签部分除了定义该菜单项的菜单栏标题外,还使用一些特殊字符来定义菜单的加速键、级联子菜单以及菜单项的显示控制等。这些特殊字符的作用详见表34-5。

  表34-5 特殊标签字符

  字符

 说明

  --

  菜单项分隔符(使用时,不能包括任何其他字符)。

  +

  延续宏到下一行(如果是最后一个字符)。

  ->

  指出该项具有子菜单。

  <-

  指出该项是子菜单中的最后一项。

  <-<-...

  指出子菜单中的最后一个下拉菜单项或快捷菜单项,并且结束父菜单。(每个<-结束一级父菜单。)

  $(

  如果作为第一个字符,则使下拉菜单或快捷菜单项标签求 DIESEL 字符串宏的值。

  ~

  指定该菜单项被禁用(变暗)。与该菜单项相关的任何命令都不会产生,并且不能访问它的任何子菜单。

  !.

  给该菜单项打上复选标记。

  &

  直接放在下拉菜单或快捷菜单标签中一个字符之前,把该字符指定为菜单的加速键。例如,S&ample 显示为Sample。

  /

  指定下拉菜单或快捷菜单标签的菜单加速键。例如,/aSample显示为“Sample”。

  /t

  指定其右边的文字在菜单的右侧显示。

  2. 菜单的引用

  可以用相对和绝对两种方法引用下拉菜单和快捷菜单。相对引用使用菜单组和名称标记,绝对引用使用菜单项在菜单结构中的绝对位置。建议使用前一种方法,因为该方法的动态特性使得不管菜单的当前状态如何,该菜单都能正确地发挥其功能。

  在菜单文件中,下拉菜单最多可包含999个菜单项,而光标菜单最多可包含499个菜单项。如果菜单文件中的菜单项超出了这些限制,AutoCAD将忽略多余的项。



发布此文章仅为传递网友分享,不代表本站观点,若侵权请联系我们删除,本站将不对此承担任何责任。
Copyright ©2018  IT大杂烩  版权所有  京ICP备11030978号-1 网站地图