文件的开始处是以“//”开头的几行注释,主要是一些版本和版权信息的描述。注释行之后的第一行描述了该文件定义的菜单组名,该行的语法是:“***MENUGROUP=菜单组名”(如图5所示),
![]() |
| 图5 |
这里的ACAD.MNU文件定义的菜单组名是ACAD。继续分析这个文件,就会发现它是由许多区域组成的,这些区域的共同点就是第一行都是以“***”开头,而且在区域的开始处都有以“//”开头的几行注释来说明此节的功能。区域名声明的语法为:“***SECTION NACE”,表示以下各行为一个区域,区域名为SECTION NAME。三个星号开头的行表示这一区域的区域名,区域名不可以随意定义,AutoCAD只支持下表列出的区域名。
============================================================= 部分区域名 菜单区域的功能 备注
***BUTTONSn 第n个定点设备按钮菜单区域 n=1~4
***AUXn 第n个系统定点设备菜单区域 n=1~4
***POPn 第n个菜单区域 n=1~499
****TOOLBARS 工具栏定义区域
***IMAGE 图像控件菜单区域
***SCREEN 屏幕菜单区域
***TABLETn 第n个数字化仪菜单区域 n=1~4
***HELPSTRINGS 帮助文本区域
***ACCELERATORS 快捷键定义区域
=============================================================
“***BUTTONSn”和“***AUXn”定义了定点设备(如鼠标或数字化仪)的按钮在按下时AutoCAD发生的行为。如果修改了这些区域,AutoCAD的行为将产生很大混乱,甚至可能会导致应用程序的瘫痪。因此,在没有必要的情况下,不要对这两类菜单进行任何修改。
区域名为“POPn”的菜单项有两类,分别为下拉菜单和快捷菜单。下拉菜单和快捷菜单才是我们通常意义上的Windows标准菜单,即触发时弹出的菜单,这种形式的菜单在Windows中称为级联菜单(也称为步进菜单或层次菜单),下拉菜单总是从菜单栏中下拉,快捷菜单则是显示在图形屏幕上十字光标所在或靠近十字光标的位置,以及图形屏幕、文本窗口、命令行或工具栏区域上光标的位置。快捷菜单通过“$P0=*”菜单命令来访问,该命令由其它菜单项产生,或由AutoLISP或ObjectARX程序发出。例如,在绘图区单击鼠标右键弹出的菜单就是快捷菜单。当快捷菜单被激活时,菜单栏不可用。这两种菜单区域的语法是相同的,对这两类菜单区域进行定制是本文所要讲述的主要内容
除了Windows标准菜单外,AutoCAD还提供了其它形式的快捷方式来执行命令,例如工具栏、图像菜单、屏幕菜单、快捷键等。菜单文件的其它区域定义了这些快捷方式。“***TOOLBARS”部分指定工具栏的缺省布局和内容,它包含菜单所定义工具栏的子菜单,如图6所示。
图像控件菜单主要用来当用户选择一个图形符号时提供图像,图像控件菜单通过在菜单文件中提供“***IMAGE”部分来定义。
“***SCREEN”部分标签表示AutoCAD屏幕菜单的开始。屏幕菜单部分控制屏幕菜单区域。缺省情况下,屏幕菜单是禁用的。通过选择“工具/选项/显示”上的“显示屏幕菜单”,可启用屏幕菜单。
菜单文件中标签为“***TABLET1”到“***TABLET4”的四个部分定义了一些菜单宏,这些菜单宏与指定区域的数字化仪选择相关。AutoCAD最多可将数字化仪的四个区域配置为命令输入的菜单区域。
状态行帮助信息是帮助支持的一个重要方面,当菜单项被选择时,在状态行中显示这些简单的描述性信息。“***HELPSTRINGS”部分中的帮助字符串菜单区域支持这种格式的帮助,如图7所示。
AutoCAD支持用户定义的快捷键。“***ACCELERATORS”菜单区域定义了来自用户的快捷键。




