AutoCAD R14的菜单定制技术 雷立宏中国建筑科学研究院电子计算中心 菜单文件结构及菜单格式 为了保护用户及开发商的既有积累,使产品的过渡较为平缓,又能充分的挖掘Micr°osof最 新技术的潜力, AutoCAD14既保留了原有的菜单结构,又对其进行了新的扩展,使得用户和 开发商都能充分使用 Windows95NT平台的图形用户界面GUD)定制技术对R14的用户界面进 行方便的定制。因此, AutoCAD14菜单不仅包括有原来的各类设备菜单、下拉菜单、光标菜 单及屏幕菜单等,还增加并加强了工具条按钮菜单的用户化功能。 1.1菜单文件结构 根据 AutoCAD14交互界面的不同区域,菜单文件被分为不同节,每一节中包含了许多菜 单项。用户可以按自己的需求描述不同节和菜单项,而不一定按照 AutoCAD的菜单文件那样描 述所有的节和项。为了实现R14中加载和卸载分部菜单的功能,菜单文件还应包括菜单组名 因此,菜单文件的格式如下: MENUGROUP菜单文件组名,如果用户未写,则以菜单文件全路径名为组名 AUXn系统定点设备按钮菜单(如鼠标键定义); POPn下拉菜单或光标菜单; △** TOOLBARS工具条按钮菜单; MAGE图象菜单; SCREEND屏幕菜单; TABLETn数字化仪板菜单; △* HELPSTRINGS下拉菜单、光标菜单或工具条按钮的状态行帮助信息 △** ACCELERATORS加速键定义;∥注释行。 其中,带"的菜单节是R14新增加的内容。 12菜单项格式 R14的菜单项格式为
AutoCAD R14 的菜单定制技术 雷立宏 中国建筑科学研究院电子计算中心 1 菜单文件结构及菜单格式 为了保护用户及开发商的既有积累,使产品的过渡较为平缓,又能充分的挖掘 Microsoft 最 新技术的潜力,AutoCAD R14 既保留了原有的菜单结构,又对其进行了新的扩展,使得用户和 开发商都能充分使用 Windows 95/NT 平台的图形用户界面(GUI)定制技术对 R14 的用户界面进 行方便的定制。因此,AutoCAD R14 菜单不仅包括有原来的各类设备菜单、下拉菜单、光标菜 单及屏幕菜单等,还增加并加强了工具条按钮菜单的用户化功能。 1.1 菜单文件结构 根据 AutoCAD R14 交互界面的不同区域,菜单文件被分为不同节,每一节中包含了许多菜 单项。用户可以按自己的需求描述不同节和菜单项,而不一定按照 AutoCAD 的菜单文件那样描 述所有的节和项。为了实现 R14 中加载和卸载分部菜单的功能,菜单文件还应包括菜单组名。 因此,菜单文件的格式如下: ***MENUGROUP 菜单文件组名,如果用户未写,则以菜单文件全路径名为组名; ***AUXn 系统定点设备按钮菜单(如鼠标键定义); ***POPn 下拉菜单或光标菜单; △***TOOLBARS 工具条按钮菜单; ***IMAGE 图象菜单; ***SCREENn 屏幕菜单; ***TABLETn 数字化仪板菜单; △***HELPSTRINGS 下拉菜单、光标菜单或工具条按钮的状态行帮助信息; △***ACCELERATORS 加速键定义;// 注释行。 其中,带"*"的菜单节是 R14 新增加的内容。 1.2 菜单项格式 R14 的菜单项格式为:
name tag label menu macro 名称标识标签菜单宏 这个格式对所有的菜单节都是统一的,只是图象菜单项中没有name_tag;而且对于不同的 菜单节 label的含义也有所不同。其中, name tag是菜单文件中每个菜单项的唯一标识符,其 作用是(1)将下拉菜单和工具条按钮同相应的状态行帮助联系起来:(2)将下拉菜单同其相应加速 键联系起来:(3)用于控制菜单项的状态(如可用或不可用); labe是放在[]中的显示给用户的有关信息,例如对于 TOOLBARS,[]中的内容定义了工具 条的名称、状态(浮动、隐藏或可见等)、位置及所用的图标等 menu macro就是该菜单项或按钮所要执行的动作,可以是 AutoCAD命令、 AutolISP程序、 ADSIARX程序等。例如: ***TOOLBARS **TB ABD ABD ∥定义工具条。 ID_ABDo[Toolbar("ABD tf"Floating, Show, 400, 50, 1 ∥定义工具条按钮。 D_ABD_1[_ Button("绘制墙体"," CON. bmp","CON041bmp")y^c^ CABD WALL: HELPSTRINGS D_ABD_0[墙体绘制和编辑] D_ABD_1值直接绘制双线墙体 如果在菜单源文件中包含以上片段,经过编译调用时,将会出现名为"ABD墙体"的工具条, 其中包含一个名为"绘制墙体"按钮。当用户把光标移动到工具条上时,"墙体绘制和编辑。"的帮 助信息就出现在窗口的状态行;当用户把光标移动到按钮上时,"直接绘制双线墙体。"的帮助信 息就出现在窗口的状态行,同时光标箭头处还有"绘制墙体"的提示。 2菜单文件组成 要满足用户对菜单定制的新要求,就必须对原有的菜单进行扩充,这不仅表现在菜单结构的 变化,还表现在菜单文件组成的变化。R14之前, AutoCAD的菜单原文件为*MNU,其编译文 件为*MNX;在R14中,*MNX已不存在,取而代之的是其它几类文件, AutoCAD14的菜单
name_tag label menu_macro 名称标识 标签 菜单宏 这个格式对所有的菜单节都是统一的,只是图象菜单项中没有 name_tag;而且对于不同的 菜单节 label 的含义也有所不同。其中,name_tag 是菜单文件中每个菜单项的唯一标识符,其 作用是(1)将下拉菜单和工具条按钮同相应的状态行帮助联系起来;(2)将下拉菜单同其相应加速 键联系起来;(3)用于控制菜单项的状态(如可用或不可用); label 是放在[ ]中的显示给用户的有关信息,例如对于 TOOLBARS,[ ]中的内容定义了工具 条的名称、状态(浮动、隐藏或可见等)、位置及所用的图标等; menu_macro 就是该菜单项或按钮所要执行的动作,可以是 AutoCAD 命令、AutoLISP 程序、 ADS/ARX 程序等。例如: ***TOOLBARS **TB_ABD **ABD // 定义工具条。 ID_ABD_0 [ _Toolbar("ABD 墙体",_Floating, _Show, 400, 50, 1)] // 定义工具条按钮。 ID_ABD_1 [ _Button("绘制墙体", "ICON.bmp", "ICON0041.bmp")]^C^CABD _WALL: ***HELPSTRINGS ID_ABD_0 [墙体绘制和编辑.] ID_ABD_1 [直接绘制双线墙体.]: 如果在菜单源文件中包含以上片段,经过编译调用时,将会出现名为"ABD 墙体"的工具条, 其中包含一个名为"绘制墙体"按钮。当用户把光标移动到工具条上时,"墙体绘制和编辑。"的帮 助信息就出现在窗口的状态行;当用户把光标移动到按钮上时,"直接绘制双线墙体。"的帮助信 息就出现在窗口的状态行,同时光标箭头处还有"绘制墙体"的提示。 2 菜单文件组成 要满足用户对菜单定制的新要求,就必须对原有的菜单进行扩充,这不仅表现在菜单结构的 变化,还表现在菜单文件组成的变化。R14 之前,AutoCAD 的菜单原文件为*.MNU,其编译文 件为*.MNX;在 R14 中,*.MNX 已不存在,取而代之的是其它几类文件,AutoCAD R14 的菜单
文件组成如下: MNU AutoCAD R14菜单模板文件(文本格式) MNC AutoCAD R14编译菜单文件(二进制格式) MNS由 AutoCAD R14编译产生的菜单源文件(文本格式) MNR AutoCADR14菜单中所用的资源文件(二进制格式) MNL同名菜单加载的 AutoLISP程序文件(文本格式) 3用户菜单文件编制过程 (1)以文本文件方式,按 AutoCAD要求的格式编写菜单模板文件*MNU及其所调用的 AutoLISP程序文件←MNL,如果有工具条菜单,还需同时制作相应的图标文件(小图标16*15点 大图标24*22点 (2)使用MENU命令编译已经写好的菜单模板文件(选择文件的对话框中的文件类型需要用 户自己切换*MNU), AutoCAD R14将自动生成*MNC、*MNS和*MNR文件 (3)使用交互方式增加和编辑工具条菜单, AutoCAD R14会自动更新*MNS文件,如果用户 想要保留新増工具条菜单,避免再次编译*MN时丢失,就必须手工将*MNS中的有关内容复 制到*MNU中之后才能使用MENU命令再次编译*MNU。 4R14菜单调用的检索顺序 当用户使用交互方式调用菜单,或者使用编程方式调用菜单, AutOCADE14以如下的文件 检索顺序调用菜单
文件组成如下: *.MNU AutoCAD R14 菜单模板文件(文本格式); *.MNC AutoCAD R14 编译菜单文件(二进制格式); *.MNS 由 AutoCAD R14 编译产生的菜单源文件(文本格式); *.MNR AutoCAD R14 菜单中所用的资源文件(二进制格式); *.MNL 同名菜单加载的 AutoLISP 程序文件(文本格式); 3 用户菜单文件编制过程 (1)以文本文件方式,按 AutoCAD 要求的格式编写菜单模板文件*.MNU 及其所调用的 AutoLISP 程序文件*.MNL,如果有工具条菜单,还需同时制作相应的图标文件(小图标 16*15 点, 大图标 24*22 点); (2)使用 MENU 命令编译已经写好的菜单模板文件(选择文件的对话框中的文件类型需要用 户自己切换*.MNU),AutoCAD R14 将自动生成*.MNC、*.MNS 和*.MNR 文件; (3)使用交互方式增加和编辑工具条菜单,AutoCAD R14 会自动更新*.MNS 文件,如果用户 想要保留新增工具条菜单,避免再次编译*.MNU 时丢失,就必须手工将*.MNS 中的有关内容复 制到*.MNU 中之后才能使用 MENU 命令再次编译*.MNU。 4 R14 菜单调用的检索顺序 当用户使用交互方式调用菜单,或者使用编程方式调用菜单,AutoCAD R14 以如下的文件 检索顺序调用菜单:
MENU命令 有无Mns 有无MC 有无Mn2无、有无M2王错偕息 编译生成 编译生成 3Ck置<M0C不单M3 *MNR MMNR 是 诚用MnC <有无M7 加秋M江L AutoCAD14除了能以MENU命令调用菜单,还可以用 MENULOAD命令将其它菜单文件 中的菜单调入当前图形编辑环境,并且部分或者全部替换当前使用的菜单。在程序中可以使用 ( MENUCMD)函数和菜单标识来控制菜单的状态。 5工具条按钮 AutoCAD4的菜单中大部分内容同原来的菜单相差无几,不再赘述。这里主要介绍工具 条的定制方法。 51工具条按钮简介 工具条按钮是 Windows系统平台中的一种很方便的交互控制手段,特别是 Windows95/NT 4.0平台上,工具条的使用更加灵活和方便,并能由用户快速的进行用户化,从而深受广大 Windows系统用户的喜好。 AutoCAD14也充分使用了工具条按钮,并且允许使用多种方法定 制工具条。其特点是:(1)定制方便;(2)能显示多种提示和帮助信息 52工具条按钮的定制 (1)直接文件法 用户可以按照R14的菜单文件格式要求,将工具条按钮直接写入菜单模板文件*MNU中或 者菜单原文件*MNS中,重新编译调用菜单时,工具条按钮将按用户的要求显示出来;(2)交互 法 菜单中原先没有工具条按钮时,使用 TOOLBAR命令启动工具条管理程序,进行工具条按
AutoCAD R14 除了能以 MENU 命令调用菜单,还可以用 MENULOAD 命令将其它菜单文件 中的菜单调入当前图形编辑环境,并且部分或者全部替换当前使用的菜单。在程序中可以使用 (MENUCMD)函数和菜单标识来控制菜单的状态。 5 工具条按钮 AutoCAD R14 的菜单中大部分内容同原来的菜单相差无几,不再赘述。这里主要介绍工具 条的定制方法。 5.1 工具条按钮简介 工具条按钮是 Windows 系统平台中的一种很方便的交互控制手段,特别是 Windows95/NT 4.0 平台上,工具条的使用更加灵活和方便,并能由用户快速的进行用户化,从而深受广大 Windows 系统用户的喜好。AutoCAD R14 也充分使用了工具条按钮,并且允许使用多种方法定 制工具条。其特点是:(1)定制方便;(2)能显示多种提示和帮助信息 5.2 工具条按钮的定制 (1)直接文件法 用户可以按照 R14 的菜单文件格式要求,将工具条按钮直接写入菜单模板文件*.MNU 中或 者菜单原文件*.MNS 中,重新编译调用菜单时,工具条按钮将按用户的要求显示出来; (2)交互 法 菜单中原先没有工具条按钮时,使用 TOOLBAR 命令启动工具条管理程序,进行工具条按
钮的创建和修改; 菜单中原先已有部分工具条按钮时,只要将鼠标移到任一工具条按钮上按下鼠标右键便可启 动工具条管理程序,然后进行工具条按钮属性的修改和编辑。 (3)新建工具条按钮的步骤 启动工具条按钮管理程序 新建工具条,并输入工具条的有关属性; 1““心 :。求 1. -YA rLB.: 墙体菏蟹 Alias ACAD TB ABD 在新建的工具条中增加按钮;在新按钮上按"鼠标右键"输入按钮的有关属性;
钮的创建和修改; 菜单中原先已有部分工具条按钮时,只要将鼠标移到任一工具条按钮上按下鼠标右键便可启 动工具条管理程序,然后进行工具条按钮属性的修改和编辑。 (3)新建工具条按钮的步骤 启动工具条按钮管理程序; 新建工具条,并输入工具条的有关属性; 在新建的工具条中增加按钮;在新按钮上按"鼠标右键"输入按钮的有关属性;
Close Description Name制墙 Hep「换绘制续体 编辑按钮的图标CON)。 FReN 6结束语 AutoCAD14为用户及开发商提供了一个更为方便的菜单定制机制。特别是工具条按钮菜 单的定制技术,使用灵活,定制方便,在应用软件中可以广泛使用
编辑按钮的图标(ICON)。 6 结束语 AutoCAD R14 为用户及开发商提供了一个更为方便的菜单定制机制。特别是工具条按钮菜 单的定制技术,使用灵活,定制方便,在应用软件中可以广泛使用