zoukankan      html  css  js  c++  java
  • AUTOCAD Study

    AutoCAD荣登全球绘图软件的龙头宝座,主要是因为它具有开放的体系结构。它允许用户和开发者采用高级编程语言对其进行扩充和修改,即二次开发,能最大限度地满足用户的特殊要求。AutoCAD第一版于1982年11月由AutoDESK公司推出,目前大家广泛使用的是AutoCAD 2000或2002,最新版本是AutoCAD 2004,其二次开发语言及工具也在不断地涌现,本文做了一些介绍。

    1 AutoLISP

    AutoLISP的全名是LIST Processing Language,她出现于1985年推出的AutoCAD R2.18中,是一种嵌入在AutoCAD内部的编程语言,是LISP原版的一个子集,她一直是低版本AutoCAD的首选编程语言。它是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。其缺点是继承了LISP语言的编程规则而导致繁多的括号。

    3 ADS

    ADS的全名是AutoCAD Development System,它是AutoCAD的C语言开发系统,ADS本质上是一组可以用C语言编写AutoCAD应用程序的头文件和目标库,它直接利用用户熟悉的各种流行的C语言编译器,将应用程序编译成可执行的文件在AutoCAD环境下运行,这种可以在AutoCAD环境中直接运行的可执行文件叫做ADS应用程序。ADS由于其速度快,又采用结构化的编程体系,因而很适合于高强度的数据处理,如二次开发的机械设计CAD、工程分析CAD、建筑结构CAD、土木工程CAD、化学工程CAD、电气工程CAD等。

    4 ObjectARX

    ObjectARX是一种崭新的开发AutoCAD应用程序的工具,她以C++为编程语言,采用先进的面向对象的编程原理,提供可与AutoCAD直接交互的开发环境,能使用户方便快捷地开发出高效简洁的Auto CAD应用程序。ObjectARX并没有包含在AutoCAD中,可在AutoDESK公司网站中去下载,其最新版本是ObjectARX for AutoCAD 2000,它能够对AutoCAD的所有事务进行完整的、先进的、面向对象的设计与开发,并且开发的应用程序速度更快、集成度更高、稳定性更强。ObjectARX从本质上讲,是一种特定的C++编程环境,她包括一组动态链接库(DLL),这些库与AutoCAD在同一地址空间运行并能直接利用AutoCAD核心数据结构和代码,库中包含一组通用工具,使得二次开发者可以充分利用AutoCAD的开放结构,直接访问AutoCAD数据库结构、图形系统以及CAD几何造型核心,以便能在运行期间实时扩展AutoCAD的功能,创建能全面享受AutoCAD固有命令的新命令。ObjectARX的核心是两组关键的API,即AcDb(Auto CAD数据库)和AcEd(Auto CAD编译器),另外还有其它的一些重要库组件,如AcRX(Auto CAD实时扩展)、AcGi(Auto CAD图形接口)、AcGe(Auto CAD几何库)、ADSRX(Auto CAD开发系统实时扩展)。ObjectARX 还可以按需要加载应用程序;使用ObjectARX进行应用开发还可以在同一水平上与Windows系统集成,并与其它Windows应用程序实现交互操作。

    5 VisualLISP

    VisualLISP已经被完整地集成到AutoCAD 2000中,她为开发者提供了崭新的、增强的集成开发环境,一改过去在AutoCAD中内嵌AtuoLISP运行引擎的机制,这样开发者可以直接使用AutoCAD中的对象和反应器,进行更底层的开发。其特点为自身是AutoCAD 2000中默认的代码编辑工具;用它开发AutoLISP程序的时间被大大地缩短,原始代码能被保密,以防盗版和被更改;能帮助大家使用ActiveX对象及其事件;使用了流行的有色代码编辑器和完善的调试工具,使大家很容易创建和分析LISP程序的运行情况。在VisualLISP中新增了一些函数:如基于AutoLISP的ActiveX/COM自动化操作接口;用于执行基于Auto CAD内部事件的LISP程序的对象反应器;新增了能够对操作系统文件进行操作的函数。

    6 VBA

    VBA 即Mcrosoft office中的Visual Basic for Applications,它被集成到AutoCAD 2000中。VBA为开发者提供了一种新的选择,也为用户访问AutoCAD 2000中丰富的技术框架打开一条新的通道。VBA和AutoCAD 2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。

    菜单文件的类型、结构和使用
    34.1.1 菜单文件简介
        菜单文件用于定义菜单,AutoCAD系统中所使用的菜单均保存在相应的菜单文件中。AutoCAD中的菜单是人机交互的主要方式,并且具有几种不同的形式,即菜单区域。在菜单文件中对以下几种菜单区域的功能和外观进行了定义:
        (1) 定点设备按钮菜单
        (2) 下拉菜单和快捷菜单
        (3) 工具栏
        (4) 图像控件菜单
        (5) 屏幕菜单
        (6) 数字化仪菜单
        (7) 帮助字符串和工具栏提示
        (8) 键盘加速键
        在AutoCAD启动时,系统会自动装入菜单文件ACAD.MNC(或ACAD.MNS、ACAD.MNU)。用户可以根据需要通过修改菜单文件来定制菜单,也可以创建自定义的菜单文件。
    34.1.2 菜单文件的类型
        在AutoCAD 2002系统中,可以看到如下几种类型的菜单文件,具体内容见表34-1。
    表34-1 菜单文件类型说明

    文件类型

    说明

    *.MNU

    样板菜单文件(文本文件),记录着菜单的功能和结构。

    *.MNC

    编译后的菜单文件(二进制文件),可被AutoCAD直接使用,包含定义菜单功能和外观的命令字符串和菜单语法。

    *.MNR

    菜单资源文件(二进制文件),包含由菜单使用的位图(.BMP)。

    *.MNS

    菜单源文件(文本文件,由AutoCAD生成)

    *.MNT

    菜单资源文件。在*.MNR文件无效(例如,只读)时生成该文件。

    *.MNL

    与菜单配套的 AutoLISP 程序。这些文件包含由菜单文件使用的 AutoLISP 表达式。当加载同名的菜单文件时,这些文件也载入内存。

        MNS文件是ASCII文件,最初与MNU文件相同。用户在AutoCAD界面中修改菜单文件的内容后(如修改菜单栏),MNS文件也被修改。MNS文件不能直接为AutoCAD使用,而是需编辑为同名的MNC文件。
        每当AutoCAD编译一个MNC文件后,便会生成一个菜单源文件(MNR文件),该文件包含菜单中要用到的位图。
        生成MNS文件后,如果修改了MNU文件,必须重新加载MNU文件以便AutoCAD生成新的MNS和MNC文件,确认所做的修改。
        用户可直接对其中文本格式的菜单文件进行编辑,以实现对菜单的定制。当然,前提是用户应对菜单文件的结构和格式有着充分的了解。
    34.1.3 菜单文件的结构
        AutoCAD采用层次结构来管理菜单文件,首先菜单文件按其功能的不同分为几个部分,每个部分中都包含菜单项,它为与菜单选项相关的外观和操作提供指示。菜单文件的各部分用部分标签来标识,其格式为:
        ***section_name
        表34-2中列出了各个部分标签及其说明。
    表34-2 部分标签及说明

    部分标签

    说明

    ***MENUGROUP

    定义菜单文件组

    ***BUTTONSn

    定义定点设备按钮功能

    ***AUXn

    定义系统定点设备菜单

    ***POPn

    定义下拉菜单和快捷菜单

    ***TOOLBARS

    定义工具栏按钮功能

    ***IMAGE

    定义图像控件菜单

    ***SCREEN

    定义屏幕菜单

    ***TABLETn

    定义数字化仪菜单

    ***HELPSTRINGS

    定义菜单项和工具栏按钮的提示信息

    ***ACCELERATORS

    定义加速键

        菜单文件中各部分中的第二层结构用**标识,第二层结构下则为菜单项的具体定义。
        菜单文件中的注释行以“//”为标识,菜单编译器将忽略“//”开始的行。
        注意 菜单文件不要求包括所有的菜单部分,而只需要适用于应用程序的菜单部分。因此用户在编写菜单文件时,可以将菜单划分为几个小菜单文件,以便按需加载或卸载,使开发和维护工作更加容易。
    34.1.4 菜单文件的加载
        1. 基本菜单与局部菜单
        在AutoCAD中加载菜单文件时,分为使用基本菜单和局部菜单的两种情况。基本菜单是菜单界面的基础,如果用户将某个菜单文件作为基本菜单加载,则系统自动取消原有的菜单文件,即新的基本菜单将替换原来的菜单。
        加载基本菜单的方法为:
        命令行:menu
        调用该命令后,系统弹出“Select Menu File(选择菜单文件)”对话框,提示用户选择要加载的菜单文件。
        局部菜单可以与基本菜单一起使用,即用户加载局部菜单时,原有菜单并不发生变化。使用局部菜单可使用户在菜单栏上增加或重新调整菜单。加载局部菜单后,该菜单所定义的全部菜单区域都被载入AutoCAD 且都可以使用,但下拉菜单并不直接显示出来,需要用户使用菜单命令,用AutoLISP将它们插入到菜单栏中。
        加载局部菜单的方法为:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Menu…(菜单)】
        命令行:menuload
        调用该命令后,将弹出“Menu Customization(菜单自定义)”对话框,如图34-1所示。

        在该对话框中,用户单击Browse...按钮,弹出“Select Menu File(选择菜单文件)”对话框,选择需加载的菜单文件并返回。这时,“File Name(文件名称)”编辑框中将显示出将被加载的菜单文件名称,用户单击Load按钮后,该文件的组名将出现在“Menu Groups(菜单组)”列表框里,即该菜单文件被加载到系统中。
        与基本菜单不同的是,局部菜单还可以根据需要进行卸载。卸载局部菜单不会影响到其他未卸载菜单的使用。
        卸载局部菜单的方法为:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Menu…(菜单)】
        命令行:menuunload
        调用该命令后,将弹出与图34-1完全相同的“Menu Customization(菜单自定义)”对话框。用户在“Menu Groups(菜单组)”列表框里选择需卸载的菜单项,然后单击Unload按钮即可进行卸载。
        当用户退出AutoCAD时,AutoCAD记录基本菜单的名称、最多24个局部菜单(由它们的菜单组定义)的名称和最多24个当前菜单栏中存在的菜单,并在下一次启动时加载该菜单文件。这确保AutoCAD界面在各任务期间保持不变。
        2. 菜单文件加载过程
        如果用户使用对话框来选择需要加载的菜单文件,系统将根据用户所选择的菜单文件类型进行如下操作:
        (1) 如果用户选择了MNC文件,则系统直接加载它。
        (2) 如果用户选择了MNS文件,则系统在同一目录查找与其同名的MNC文件。如果找到该文件就加载它,否则系统将编译MNS文件来生成MNC文件并加载它。
        (3) 如果用户选择的是MNU文件,则系统将其编译成MNC和MNS文件,并加载MNC文件。
        (4) 无论采用上述何种方式,系统都在加载MNC文件后,查找相应的LISP菜单文件(MNL文件)。如果找到该文件,执行文件中的AutoLISP表达式。
        当系统变量FILEDIA设为0时,用户需要在命令行中指定要加载的菜单文件。这种情况下AutoCAD将按下面的顺序查找、加载菜单文件:
        (1) 根据搜索路径搜索源菜单文件(MNS文件)
        如果找到了MNS文件,AutoCAD在同一目录查找编译后的同名菜单文件(MNC文件)。如果找到同名的MNC文件,而且该文件的日期比相应的MNS文件要晚,则AutoCAD加载该文件。否则AutoCAD编译MNS文件,在同一目录中生成新的MNC文件,并加载它。
        如果没有找到MNS文件,AutoCAD根据搜索路径查找编译后的同名菜单文件(MNC文件)。如果找到该文件,加载它。
        如果既没有找到MNS文件,也没有找到MNC文件,AutoCAD将根据搜索路径查找同名的菜单样板文件(MNU文件)。如果找到了文件,将其编译成MNC和MNS文件,加载MNC文件。
        如果没有找到上述任一文件,AutoCAD给出提示信息,并提示使用其他菜单文件名。
        (2) 加载MNC文件后,AutoCAD查找LISP菜单文件(MNL文件)。如果找到该文件,执行文件中的AutoLISP表达式。


    菜单定义详解
    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将忽略多余的项。
    34.2.5 工具栏
        菜单文件中的工具栏部分用“***TOOLBARS”标签进行标识,该部分定义了工具栏的缺省布局和内容,以及每个菜单所定义工具栏的子菜单。
        子菜单定义用“**toolbar-name”进行标识,并可定义别名。引用工具栏的格式为
        menugroup.toolbar-name
        如果不包括menugroup,则AutoCAD缺省将该工具栏显示在基本菜单中。
        在工具栏的定义包括五种不同类型的项。其中分隔条的用法同下拉菜单和快捷菜单,其余四种都以标准的名称标记开始,具体格式如下:
        1. 工具栏定义
        该项定义了工具栏的特性,其格式为:
        TAG [Toolbar ("tbarname", orient, visible, xval, yval, rows)]
        其中各项说明如下:
        (1) TAG:名称标记;
        (2) Toolbar:关键字,表示该行是工具栏定义;
        (3) tbarname:工具栏的名称。该字符串可包括字母、数字以及连字符“-”和下划线“_”。此名称与别名配合使用,使得可以在程序中引用工具栏。
        (4) orient:指定方向的关键字。有效值包括Floating、Top、Bottom、Left和Right,不区分大小写。
        (5) visible:指定可见性的关键字。有效值为Show和Hide,不区分大小写。
        (6) xval:按像素指定X坐标,即从屏幕左边到工具栏左端的距离。
        (7) yval:按像素指定Y坐标,即从屏幕上边到工具栏上端的距离。
        (8) rows:指定行数。
        例如,在ACAD.MNS文件中工具栏“Draw”的定义如下:
        ID_TbDraw [_Toolbar("Draw", _Left, _Show, 1, 0, 1)]
        2. 按钮定义
        该项定义了工具栏中的图标按钮,其格式为:
        TAG [Button ("btnname", id_small, id_large)]macro
        其中各项说明如下:
        (1) TAG:名称标记;
        (2) Button:关键字,表示该行是按钮定义;
        (3) btnname:按钮的名称。该字符串可包括字母、数字以及连字符“-”和下划线“_”。当光标停留在该按钮上时,此字符串显示为工具栏提示。
        (4) id_small:小图像资源(16×15位图)的ID字符串。该字符串可包括字母、数字以及连字符“-”和下划线“_”。也可指定一个用户定义的位图。
        (5) id_big:大图像资源(24×22位图)的ID字符串。该字符串可包括字母、数字以及连字符“-”和下划线“_”。也可指定一个用户定义的位图。
        (6) macro:菜单宏。
        例如,在ACAD.MNS文件中“Draw”工具栏的“Line”按钮定义如下:
        ID_Line [_Button("Line", "ICON_16_LINE", "ICON_16_LINE")]^C^C_line
        3. 弹出式工具栏定义
        该项定义了弹出式工具栏,其格式为:
        TAG [Flyout ("flyname", id_small, id_large, icon, alias)]macro
        其中各项说明如下:
        (1) TAG:名称标记;
        (2) Flyout:关键字,表示该行是弹出式工具栏定义;
        (3) flyname:弹出控件的名称。该字符串可包括字母、数字以及连字符“-”和下划线“_”。当光标停留在该弹出控件上时,此字符串显示为工具栏提示。
        (4) id_small:小图像资源(16×15位图)的ID字符串。该字符串可包括字母、数字以及连字符“-”和下划线“_”。也可指定一个用户定义的位图。
        (5) id_big:大图像资源(24×22位图)的ID字符串。该字符串可包括字母、数字以及连字符“-”和下划线“_”。也可指定一个用户定义的位图。
        (6) icon:布尔型关键字,用于控制显示自己的图标或显示上一次选定的图标(另一个图标)。有效值为 OwnIcon和OtherIcon,不区分大小写。
        (7) alias:对要显示为弹出控件的工具栏的引用。alias指向按标准**aliasname 语法定义的工具栏子菜单。
        (8) macro:菜单宏。
        例如,在ACAD.MNS文件中“Standard”工具栏的“Zoom”弹出按钮的定义如下:
        ID_TbZoom [_Flyout("Zoom", ICON_16_ZOOM, ICON_16_ZOOM,
        _OtherIcon, ACAD.TB_ZOOM)]
        4. 控件定义
        该项定义了工具栏中的图标按钮,其格式为:
        TAG [Control (element)]
        其中element参数可能的值如下(不区分大小写):
        (1) _Color:指定颜色控件元素。此元素是一个下拉列表,它提供当前颜色的定义。
        (2) _Dimstyle:指定标注样式控件元素。此元素是一个下拉列表,它提供当前标注样式的定义。
        (3) _Layer:指定图层控件元素。此元素是一个下拉列表,它提供图形中当前图层的控件。
        (4) _Linetype:指定线型控件元素。此元素是一个下拉列表,它提供当前线型的定义。
        (5) _Lineweight:指定线宽控件元素。此元素是一个下拉列表,它提供当前线宽的定义。
        (6) _PlotStyle:指定打印样式控件元素。此元素是一个下拉列表,它提供当前打印样式的定义。
        (7) _Refblkname:指定外部参照名称控件元素。它在编辑模式显示当前外部参照名称。
        (8) _UCSManager:指定UCS控件元素。此元素是一个下拉列表,它提供当前UCS的定义。
        (9) _View:指定视图控件元素。此元素是一个下拉列表,它提供当前标准三维视图的定义。
        (10) _ViewportScale:指定视口缩放比例控件元素。此元素是一个下拉列表,它在布局模式下提供视口缩放比例的定义。
        5. 用户定义位图
        用户定义的位图可用于代替id_small和id_big图像资源的名称。对于id_small参数,用户定义的位图尺寸必须为16×15(像素),并且必须位于库搜索路径中。对于id_big参数,如果指定的位图不是24×22(像素),则AutoCAD自动缩放到该尺寸。
    34.2.6 图像控件菜单
        菜单文件中的图像控件菜单部分用“***IMAGE”标签进行标识,该部分定义了带有图像控件的菜单。
        图像控件菜单部分可包含多个子菜单,子菜单之间应至少用一个空行进行分隔。每个子菜单的第一行是它的标题,该标题显示为包含该图像的对话框的标签。
        图像控件菜单项中不能包含名称标记,而只包含标签和菜单宏。其中标签用来定义滚动列表的文字和图像。可用的图像控件菜单项标签格式及用法如表34-6所示。
    表34-6 图像控件菜单项标签格式

    标签格式

    用法

    [sldname]

    幻灯片名sldname显示在列表框中;

    幻灯片sldname 显示为图像。

    [sldname,labeltext]

    文字labeltext显示在列表框中;

    幻灯片sldname显示为图像。

    [sldlib(sldname)]

    幻灯片名 sldname 显示在列表框中;

    幻灯库sldlib中的幻灯片sldname显示为图像。

    [sldlib(sldname,labeltext)]

    文字labeltext显示在列表框中;

    幻灯库sldlib中的幻灯片sldname显示为图像。

    [blank]

    当提供空文字(即不提供文字)作图标标签时,则在列表框中显示分隔行,并显示空图像。

    [ labeltext]

    当标签的第一个字符为空格时,在列表框中显示提供的文本labeltext,并且不显示图像。

        除了不能使用菜单宏重复功能以外,图像控件菜单宏执行的功能与其他菜单宏相同。
        例如,在ACAD.MNS文件中的图像控件菜单的“IMAGE_3DOBJECTS”子菜单定义如下,其对应的图像控件菜单如图34-2所示。
        ***IMAGE
        **IMAGE_3DOBJECTS
        [3D Objects]
        [acad(Box3d,Box3d)]^C^C_ai_box
        [acad(Pyramid,Pyramid)]^C^C_ai_pyramid
        [acad(Wedge,Wedge)]^C^C_ai_wedge
        [acad(Dome,Dome)]^C^C_ai_dome
        [acad(Sphere,Sphere)]^C^C_ai_sphere
        [acad(Cone,Cone)]^C^C_ai_cone
        [acad(Torus,Torus)]^C^C_ai_torus
        [acad(Dish,Dish)]^C^C_ai_dish
        [acad(Mesh,Mesh)]^C^C_ai_mesh

        AutoCAD按每20个一组显示图像,并用滚动列表包含相关的幻灯片名称或文字,最多可显示19个字符。图像控件子菜单的长度没有限制:如果图像控件子菜单包含的幻灯片超过20个,AutoCAD 将提供“下一个”和“上一个”按钮,用户可用这两个按钮浏览图像。
    34.2.7 屏幕菜单
        菜单文件中的屏幕菜单部分用“***SCREEN”标签进行标识,该部分定义了屏幕菜单的结构和功能。屏幕菜单中的主屏幕菜单部分标签由字符串“**S”标识。
        屏幕菜单的菜单项语法如下:
        标签 子菜单标识或菜单宏
        例如在ACAD.MNS文件中主屏幕菜单定义如下,其对应的屏幕菜单如图34-3所示。
        ***SCREEN
        **S
        [AutoCAD ]^C^C^P(ai_rootmenus) ^P
        [* * * * ]$S=ACAD.OSNAP
        [FILE ]$S=ACAD.01_FILE
        [EDIT ]$S=ACAD.02_EDIT
        [VIEW 1 ]$S=ACAD.03_VIEW1
        [VIEW 2 ]$S=ACAD.04_VIEW2
        [INSERT ]$S=ACAD.05_INSERT
        [FORMAT ]$S=ACAD.06_FORMAT
        [TOOLS 1 ]$S=ACAD.07_TOOLS1
        [TOOLS 2 ]$S=ACAD.08_TOOLS2

        [DRAW 1 ]$S=ACAD.09_DRAW1
        [DRAW 2 ]$S=ACAD.10_DRAW2
        [DIMNSION]$S=ACAD.11_DIMENSION
        [MODIFY1 ]$S=ACAD.12_MODIFY1
        [MODIFY2 ]$S=ACAD.13_MODIFY2

        [HELP ]$S=ACAD.14_HELP
        [ASSIST ]$S=ACAD.ASSIST
        [LAST ]$S=ACAD.

        屏幕子菜单的标识如下:
        **menuname [startnum]
        其中各项说明如下:
        (1) menuname:子菜单名,最多33个字符,可包含字母、数字以及“$”、“-”、“_”等符号。
        (2) startnum:可选的整数,用于指定子菜单的开始行。
        例如在ACAD.MNS文件中,对应主屏幕菜单中“FILE”项的子菜单定义如下:
        **01_FILE 3
        [New ]^C^C_new
        [Open ]^C^C_open

        [Qsave ]^C^C_qsave
        [Saveas ]^C^C_saveas
        [Export ]^C^C_export

        [Config ]^C^C_config
        [Plot ]^C^C_plot

        [Audit ]^C^C_audit
        [Recover ]^C^C_recover
        [Purge ]^C^C_-purge

        [Quit ]^C^C_quit
        屏幕菜单显示时,将覆盖上一屏幕菜单的项,它所覆盖的项数等于它所包含的菜单项数。如果屏幕菜单所包含的菜单项数超过屏幕上的菜单框数,或者按钮菜单所包含的菜单项数超过可用的按钮数,超出的项将被忽略。注意,菜单文件中的空行也会在屏幕菜单中显示出来,因此可利用空行加长子菜单,使它能覆盖上一菜单。
    34.2.8 数字化仪菜单
        AutoCAD最多可将数字化仪的四个区域配置为命令输入的菜单区域。在菜单文件中这四个部分的菜单定义分别用“***TABLET1”~“***TABLET4”标签进行标识。
        TABLETn 部分中的菜单项语法与其他部分中的菜单项语法相同。对菜单项标签的处理方法与BUTTONSn部分相同。这些标签可用作注释,不会显示。
    34.2.9 面向菜单的帮助
        菜单文件中的面向菜单的帮助部分用“***HELPSTRINGS”标签进行标识,该部分定义了菜单项描述性信息。当菜单项被选择时,这些信息将出现在状态行上。
        帮助字符串部分的语法如下:
        名称标记 标签
        当某个菜单项突出显示时,AutoCAD在这部分的名称标记中查找对应的项。如果找到了匹配的项,则标签中包含的字符串将显示在状态行中。例如在ACAD.MNS文件中有如下定义:
        ID_LINE [Creates straight line segments: LINE]
        当用户选择绘制直线的菜单项时,状态行中将显示提示:Creates straight line segments: LINE。
    34.2.10 加速键
        菜单文件中的加速键部分用“***ACCELERATORS”标签进行标识,该部分定义了用户能够在AutoCAD中使用的加速键的作用。
    加速键有两种定义方式:
        名称标记 标签
        其中标签内包括一个或多个组合键,以及括在双引号的单个字符或虚键。例如下列定义分别给出了创建新文件和运行VBA两种操作的加速键:
        ID_New [CONTROL+"N"]
        ID_VBARun [ALT+"F8"]
        标签 命令序列
        其中,标签中包含组合键和击键字符串,后面为相应的命令序列。当系统识别出这一击键序列后,将执行其后面的命令序列。除了反斜杠“\”以外,在菜单宏中使用的格式以及特殊字符均可用于该命令序列的定义。例如下面定义了切换正交模式开关的加速键:
        [CONTROL+"L"]^O
        在加速键定义中,可以使用的组合键包括Ctrl键和左右Shift键,并分别用字符串“CONTROL”和“SHIFT”来表示。
        在加速键定义中,可使用的虚键如表34-7所示,这些键在引用时必须括在引号中。
    表34-7 特殊虚键的引用与说明

    虚键

    引用形式

    说明

    F1 键

    F1

    建议最好不要给F1键分配一个菜单宏,因为此键通常与帮助关联。但可以对这个键使用组合键。

    F2 键

    F2

    不可修改,此键用于切换文本窗口的状态。

    F3 键

    F3

    不可修改,此键用于运行OSNAP。

    F4 键

    F4

    不可修改,此键用于切换TABMODE 开关。

    F5 键

    F5

    不可修改,此键用于切换ISOPLANE 开关。

    F6 键

    F6

    不可修改,此键用于切换COORDS 开关。

    F7 键

    F7

    不可修改,此键用于切换GRIDMODE 开关。

    F8 键

    F8

    不可修改,此键用于切换ORTHOMODE 开关。

    F9 键

    F9

    不可修改,此键用于切换SNAPMODE开关。

    F10 键

    F10

    不可修改,此键用于打开或关闭极轴追踪。

    F11 键

    F11

    不可修改,此键用于打开或关闭对象捕捉追踪。

    F12 键

    F12

    由用户自定义

    INS 键

    INSERT

    由用户自定义

    DEL 键

    DELETE

    由用户自定义

    ESC 键

    ESCAPE

    建议最好不要给F1键分配一个菜单宏,因为此键通常与Cancel(取消)关联。

    对该键使用组合键时,不能给CONTROL+ESCAPE和CONTROL+SHIFT+ESCAPE分配菜单宏,因为这两个序列由 Windows 控制。

    上方向键

    UP

    必须与CONTROL组合键配合使用。

    下方向键

    DOWN

    必须与CONTROL组合键配合使用。

    左方向键

    LEFT

    必须与CONTROL组合键配合使用。

    右方向键

    RIGHT

    必须与CONTROL组合键配合使用。

    0 键

    NUMPAD0

    由用户自定义

    1 键

    NUMPAD1

    由用户自定义

    2 键

    NUMPAD2

    由用户自定义

    3 键

    NUMPAD3

    由用户自定义

    4 键

    NUMPAD4

    由用户自定义

    5 键

    NUMPAD5

    由用户自定义

    6 键

    NUMPAD6

    由用户自定义

    7 键

    NUMPAD7

    由用户自定义

    8 键

    NUMPAD8

    由用户自定义

    9 键

    NUMPAD9

    由用户自定义


    自定义菜单文件
    34.3.1 实例1 创建新的菜单文件“user.mns”
        Step 1 定义菜单组
        (1) 打开记事本程序,创建一个新的文本文件。
        (2) 在文件中输入如下代码。
        //
        // Sample Menu File
        //
        ***MENUGROUP=USER
        即定义该菜单文件属于“USER”菜单组。
        Step 2 定义辅助菜单
        在上一步骤输入的代码后继续输入如下代码:
        ***AUX2
        // Shift + button
        $P0=SHORTCUT $p0=*
        该代码定义用户在使用Shift+右键时所调用的快捷菜单“SHORTCUT”。
        Step 3 定义下拉菜单和快捷菜单
        在上一步骤输入的代码后继续输入如下代码:
        ***POP0
        **SHORTCUT
        ID_SM [&Sample Menu]
        ID_S1 [&Polyline \tCtrl+3]^C^C_pline
        ID_S2 [&Array... \tCtrl+4]^C^C_array
        [--]
        ID_S3 [->Sub Menu]
        ID_S31 [Sub Menu1]^C^C
        ID_S32 [<-Sub Menu2...]^C^C
        [--]
        ID_S4 [Image Menu...]$I=USER.IMAGE_MENU $I=USER.*
        ID_S5 [~Disable Menu]^C^C
        ID_S6 [!.Checked Menu]^C^C
        ***POP14
        **PULL_DOWN
        ID_SM [&Sample Menu]
        ID_S1 [&Polyline \tCtrl+3]^C^C_pline
        ID_S2 [&Array... \tCtrl+4]^C^C_array
        [--]
        ID_S3 [->Sub Menu]
        ID_S31 [Sub Menu1]^C^C
        ID_S32 [<-Sub Menu2...]^C^C
        [--]
        ID_S4 [Image Menu...]$I=USER.IMAGE_MENU $I=USER.*
        ID_S5 [~Disable Menu]^C^C
        ID_S6 [!.Checked Menu]^C^C
        注意 上两部分代码分别定义了快捷菜单“SHORTCUT”和下拉菜单“PULL_DOWN”,这两部分定义的菜单项完全一样,不同之间仅在于菜单名称。
        这部分定义的菜单分别给出了菜单的加速键、级联子菜单以及菜单项的显示控制等功能的定义。
        Step 4 定义工具栏
        在上一步骤输入的代码后继续输入如下代码:
        ***TOOLBARS
        **TB_USER1
        ID_TbUser1 [_Toolbar("User Toolbars1", _Floating, _Show, 100, 100, 1)]
        ID_Pline [_Button("Polyline", "ICON_16_PLINE", "ICON_16_PLINE")]^C^C_pline
        ID_Array [_Button("Array", "ICON_16_ARRREC", "ICON_16_ARRREC")]^C^C_array
        ID_Image [_Button("Image", user16.bmp, user32.bmp)]$I=USER.IMAGE_MENU
        $I=USER.*
        **TB_USER2
        ID_TbUser2 [_Toolbar("User Toolbars2", _Floating, _Show, 200, 100, 1)]
        ID_Flyout [_Flyout("Flyout", "ICON_16_PLINE", "ICON_16_PLINE",
        _OtherIcon,USER.TB_USER1)]
        [--]
        [_Control(_Color)]
        [--]
        [_Control(_Layer)]
        以上代码定义了两个工具栏“TB_USER1”和“TB_USER2”。工具栏“TB_USER1”中包括三个按钮“Polyline”、“Array”和“Image”,其中“Image”按钮的图标资源为用户创建的两个位图文件“user16.bmp”和“user32.bmp”,并保存在AutoCAD的库搜索路径中。
        工具栏“TB_USER2”中引用“TB_USER1”来定义了一个弹出式工具栏,同时还定义了两个控件“Color”和“Layer”。
        Step 5 定义图像控件菜单
        在上一步骤输入的代码后继续输入如下代码:
        ***IMAGE
        **IMAGE_MENU
        [Nut Image]
        [user(s1)]^C^C
        [user(s2)]^C^C
        [user(s3)]^C^C
        [user(s4)]^C^C
        [user(s5)]^C^C
        [user(s6)]^C^C
        以上代码定义了一个图像控件菜单,其中所用到的幻灯片和幻灯片库的创建,请参见第31章。由于该定义仅出于演示的目的,因此并没有给出具体的命令序列,用户可根据需要来添加。
        Step 6 定义屏幕菜单
        在上一步骤输入的代码后继续输入如下代码:
        ***SCREEN
        **S
        [Mian Menu]^C^C^P(ai_rootmenus) ^P
        [Polyline ]^C^C_pline
        [Array... ]^C^C_array
        [Sub Menu ]$S=USER.SUBMENU
        [Image Menu...]$I=USER.IMAGE_MENU $I=USER.*

        **SUBMENU 2
        [Prev Menu]$S=
        [Sub Menu1]^C^C
        [Sub Menu2]^C^C
        以上代码定义了带有子菜单的屏幕菜单。
        Step 7 定义加速键
        在上一步骤输入的代码后继续输入如下代码:
        ***ACCELERATORS
        ID_S1 [CONTROL+"3"]
        ID_S2 [CONTROL+"4"]
        ["NUMPAD5"]@x^h
        ["NUMPAD6"]<0
        ["NUMPAD9"]<45
        ["NUMPAD8"]<90
        ["NUMPAD7"]<135
        ["NUMPAD4"]<180
        ["NUMPAD1"]<-135
        ["NUMPAD2"]<-90
        ["NUMPAD3"]<-45
        以上代码中除了定义“Pline”命令和“Array”的快捷键以外,还定义了扩展坐标输入,即数字键区作如下修改:5键输入@符号,其他数字键输入小于号(<)和该键位置在数字键区中表示的角度值。这样用户来输入相对极坐标时可利用数字键快速输入,例如极坐标:@50<45,用户只需按数字键区的5键、数字“50”和数字键区的9键即可。
        Step 8 定义菜单帮助
        在上一步骤输入的代码后继续输入如下代码:
        ***HELPSTRINGS
        ID_S1 [Creates a 2D polyline]
        ID_S2 [Creates multiple copies of objects in a pattern]
        ID_S31 [The sample 1 for Sub Menu]
        ID_S32 [The sample 2 for Sub Menu]
        ID_S4 [The sample for Imeage Menu]
        ID_S5 [The sample for Disable Menu]
        ID_S6 [The sample for Checked Menu]
        以上代码给出了每个菜单项相应的提示。
        Step 9 保存文件
        以“user.mns”为名保存该文件。
        说明 AutoCAD命令前加“_”是为了语言的兼容性。
    34.3.2 自定义菜单文件的使用
        用户编写的菜单文件“USER.MNU”是文本文件。首次使用该菜单文件时,AutoCAD会对其进行编译,编译后生成可被直接使用的二进制菜单文件“USER.MNC”。加载菜单文件的命令如下:
        命令行:menu
        调用该命令后,系统弹出“Select Menu Fl1e(选择菜单文件)”对话框。在该对话框中,指定打开文件类型为“Menu Template(*.MNU)”项,再选择要加载的“USER.MNU”文件,结果如图34-4所示。

         用户可再次使用“menu”命令,加载AutoCAD主目录“Support”子目录中的“acad.mns”文件来恢复原来的系统菜单。
         如果用户希望将自定义的菜单和原来的系统菜单结合起来使用,则可选择菜单【Tools(工具)】→【Customize(自定义)】→【Menus…(菜单)】,系统弹出“Menu Customization(菜单自定义)”对话框,如图34-5所示。

         选择“Menu Groups(菜单组)”选项卡,并单击Browse...按钮选择自定义的“user.mns”菜单文件,然后单击Load...按钮可加载该文件。加载后,在“Menu Groups(菜单组)”列表中将增加用户所定义的菜单组“USER”。

        选择“Menu Bar(菜单栏)”选项卡,如图34-6所示。在“Menu Group(菜单组)”下拉列表中选择“USER”项,此时在“Menus(菜单)”列表中将相应地显示出该菜单文件中定义的菜单项“Sample Menu。选择该项后,再选择“Menu Bar(菜单栏)”列表中的“Help(帮助)”项,然后单击Insert>>按钮,将“Sample Menu”菜单插入到“Window(窗口)”和“Help(帮助)”之间。

        完成上述设置后,单击Close按钮关闭该对话框使用户定义的菜单生效,结果如图34-7所示。
    AutoCAD的自定义命令


    从上面的讲述可以看到,用于通过修改菜单定义文件的方式来自定义菜单,不仅工作繁琐,而且对用户的要求也比较高。因此,AutoCAD提供了自定义命令,允许用户以对话框的方式来进行自定义。
        说明 在AutoCAD 2000、2000i和2002中都具有类似的自定义功能,但具体方法略有不同,本书将以AutoCAD 2002为准来进行介绍。
    34.4.1 自定义菜单栏
        如34.3.2节所述,用户可对AutoCAD窗口中的菜单栏进行定制,命令调用方式如下:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Menus…(菜单)】
        命令行:menuload
        调用该命令后,系统弹出“Menu Customization(菜单自定义)”对话框,参见图34-5。在该对话框的“Menu Bar(菜单栏)”选项卡中(参见图34-6),右侧的“Menu Bar(菜单栏)”列表中显示了当前在AutoCAD系统中所使用的菜单项,用户可单击<<Remove按钮将指定的菜单项从列表中删除(即移到左侧的“Menu Group(菜单组)”下拉列表中),或单击<<Remove all钮将所有菜单项从列表中删除。
        对于“Menu Group(菜单组)”列表中的菜单项,用户可单击Insert >> 按钮将其添加到“Menu Bar(菜单栏)”列表中,该项将插入到指定菜单项之前。
        提示 用户可将<<Remove按钮和Insert >>按钮组合使用来改变菜单项的排列顺序。
    34.4.2 自定义工具栏
        我们已经知道在任一工具栏上单击右键可弹出快捷菜单,并可利用该菜单显示或隐藏指定的工具栏。此外,AutoCAD还提供了更进一步的自定义功能,其命令调用方式如下:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Toolbars…(工具栏)】
        菜单:【View(视图)】→【Toolbar…(工具栏)】
        快捷菜单:在任一工具栏上单击右键弹出快捷菜单,选择“Customize…(自定义)”项
        命令行:customize、toolbar
        调用该命令后,系统弹出“Customize(自定义)”对话框,并显示“Toolbars(工具栏)”选项卡,如图34-8所示。
        该选项卡中各部分作用如下:
        (1) “Toolbars(工具栏)”列表:以开关的形式显示了指定菜单组所定义的所有工具栏。用户可设置每个项目的开关状态以决定是否显示该工具栏。
        (2) “Menu Group(菜单组)”:显示已加载的菜单组。
        (3) New...按钮:创建新的工具栏;
        (4) Rename...按钮:用于对指定的工具栏重命名。

        (5) Delete按钮:用于删除指定的工具栏。
        (6) “Large Buttons(大按钮)”:指定是否以大图标按钮的形式显示工具栏。
        (7) “Show ToolTips on toolbars(在工具栏上显示工具提示)”:指定是否显示工具提示。
        (8) “Show shortcut keys in ToolTips(在工具提示中显示快捷方式)”:指定是否在工具提示中显示快捷方式。
    34.4.3 自定义键盘
        在AutoCAD中可直接定义菜单项的加速键,其命令调用方式如下:
        菜单:【Tools(工具)】→【Customize(自定义)】→【Keyboards…(键盘)】】
        命令行:customize
        调用该命令后,系统弹出“Customize(自定义)”对话框,选择其中“Keyboard(键盘)”选项卡,如图34-9所示。

        该选项卡中各部分作用如下:
        (1) “Categories(种类)”下拉列表:显示指定菜单组中定义的所有菜单项。
        (2) “Commands(命令)”:显示指定菜单项中定义的所有命令。
        (3) “Current Keys(当前键)”:显示指定菜单命令的所有加速键定义。
        (4) “Press new shortcut key(键入新的加速键)”:为指定菜单命令定义新的加速键。
        (5) Assign按钮:将新的加速键分配给指定菜单命令。
        (6) Remove按钮:删除指定的加速键。
        (7) Show All...按钮:显示当前定义的所有加速键。
    34.4.4 其他自定义功能
        在“Customize(自定义)”对话框中的“Commands(命令)”选项卡中,显示了当前的菜单项和菜单项中包含的所有命令,如图34-10所示。用户可直接将某个命令拖放到绘图区域中来创建一个新的工具栏,或者将某个命令拖放到已有的工具栏上,该命令将自动添加到工具栏中。

        说明 如果列表中的命令前面没有显示图标,则将其拖放为工具栏按钮时也不显示图标。对于当前工具栏中已有的图标按钮,用户也可将其拖放到其他工具栏上,或拖放到工具栏之外将其删除。
        在“Customize(自定义)”对话框中的“Button Properties(按钮特性)”选项卡中,用户可重新定义工具栏中指定的图标按钮。当用户选择某个工具栏按钮时,该选项卡将显示其当前的特性,并可进行修改。如图34-11所示。
        (1) “Name(名称)”:显示并修改指定图标按钮的名称。
        (2) “Description(说明)”:显示并修改指定图标按钮的说明。
        (3) “Macro associated with this button(与按钮相关联的宏)”:显示并修改指定图标按钮的宏定义。
        (4) “Button Image(按钮图像)”:显示指定图标按钮的图像。用户可单击按钮对其进行修改,或在下面的列表中重新指定。


    小 结
        本章详细介绍了AutoCAD菜单文件的类型、定义、结构和使用方法,并通过实例讲述了自定义菜单文件的创建和使用。
        此外,介绍了AutoCAD系统所提供的几种自定义功能,如自定义菜单栏、工具栏、工具栏按钮和键盘加速键等。
  • 相关阅读:
    部署 AppGlobalResources 到 SharePoint 2010
    还原一个已删除的网站集
    使用仪表板设计器配置级联筛选器 (SharePoint Server 2010 SP1)
    File or arguments not valid for site template
    Pex and Moles Documentation
    Content Query Webpart匿名访问
    Running Moles using NUnit Console from Visual Studio
    Calling a WCF Service using jQuery in SharePoint the correct way
    Updating Content Types and Site Columns That Were Deployed as a Feature
    asp.net中判断传过来的字符串不为空的代码
  • 原文地址:https://www.cnblogs.com/kentyshang/p/511512.html
Copyright © 2011-2022 走看看