- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1节基本知识对话框是现今最流行的人机互动面接口;在早期的AutoCAD版本中巳经使用,但只有在R12版本开始,才提供给用户自行编程的对话框开发功能.?对话框的描述定义在一纯文本档(扩展名为DCL)内,无须特别的开发环境?定义文件中的对话框描述,均以对话控制语言(Dialog Control Language,简称DCL语言)所建立?在AutoLISP程序中,配合可编程对话框(Porgrammable Dialog Box,简称PDB)函数,激活及操控对话框?可以在一个定义档(扩展名DCL)中定义多个对话框?对话框由方块本身,及包含于其内的组件(或称为控件,构件)所组成?每个组件的属性定义均包含在一对大括号{ }中?在定义文件中,各组件及其属性均为小写;只有在赋值给属性,或设定对话框名称时才可使用大写字母?属性以等号=赋值,并以分号;结束(注意 : 在AutoLISP程序中,分号是作为批注) ?一般要在组件名称前加上一个冒号:,但若组件并不设定属性,则不需要在组件名称前加冒号,但却要以分号结束?空行会被忽?若定义档发生严重的错误,会在当前的目录下,产生ACAD.DCE文件,以指明所发生的错误.第2节定义档BASE.DCL默认在SUPPORT的目录中,它包含了各组件的原型定义,及各类型巳定义的其它基本组件;而所有自行开发的对话框定义文件,都可以使用在BASE.DCL定义文件中的各个组件ACAD.DCL默认在SUPPORT的目录中,它包含了AutoCAD中所有标准对话框的定义参考定义档可在自行开发的对话框定义文件中,经由include指令,取得指定DCL文件中所定义的组件;其语法如下:? ? ? ?@include 对话框定义档? ? ? ?e.g. ? ? @include david.dcl定义档名称要包含在双引号中,可以在档名前加上定的目录路径会先在当前的目录中搜寻该定义文件,然后是定义文件所在的目录;若有指定档案的路径,则只会在指定的目录内寻找不可以参考ACAD.DCL所定义的对话框,即不可以使用@include acad.dcl预视对话框若在Visual LISP中开启一对话框定义文件,即可使用 :? ? ? ?工具 -- 接口工具 -- 预览编辑器DCL在下拉式列示框中,选取该定义文件中所设定的对话框名称,即可预视对话框亦可直接输入该对话框的名称(要注意大小写)第3节批注//表示其右边(至该行末端)的文字视为注释/* ? ? */包括在两个批注符号中间的所有文字(可跨越多行)均视为注释语义检核提供4个等级的检核,该些检核会在对话框载入时完成;可以将下列语句放在定义文件中的任何位置,但不能在任何对话框的定义内.? ? ? ?dcl_settings :default_dcl_settings {audit_level = 3;}等级0 不检查 : 只有在该定义档巳被检核且不会再作修改时使用等级1 错误 : 找出可能造成AutoCAD终止的错误,此等级也是默认值等级2 警告 : 找出配置或行为模式的错误,所有定义在修改后,最少应执行此等级的检查一次等级3 提示 : 找出多余的属性定义对话框的设计美观性颜色配比,组件整齐排列等方便性相同功能的项目要编排在一起,或使用线框包围使用频繁的项目应设置在最显眼及方便的位置适当设置快捷键及默认值(默认值,省缺值)除非对话框中的项目过多,否则应避免使用巢状(嵌套)式对话方框互锁或互换项目选取(或不选取)时,会否引致其它项目功能的改变(enable或disable...等)第4节对话框定义文件内容模式对话框名称:dialog{label=对话框标题 ;:组件名称{ ? ? 属性名称=属性值;} ? ? ? ?//组件定义结束}? ? ? ? ? //对话框结束定义说明1对话框名称就是由AutoLISP程序,启动对话框时所呼叫的名称;可以自行设定,要区分大小写字母dialog为对话框中,最外层的组件(即整个对话框),其它的组件均包含在其中一般组件要以冒号:开始,并为小写字母;因为不是属性,所以不须使用分号;结束2开大括号{紧随组件名称之后,以包含该组件的属性或其它组件label为属性名称,并以等号=赋以其右边的属性值,最后以分号;结束该行叙述3包含在对话框中的其它组件组件要以冒号:开始,并为小写字母;因为不是属性,所以不须使用分号;结束4开大括号{紧随组件名称之后,以包含组件的属性或其它组件包含在组件中的属性,要以等号=赋以其右边的属性值;最后以分号;结束该行叙述5以关大括号}与第4行的开大括号}对应,以结束该组件(第3行)之定义双除号//右边的文字即为批注6以关大括号}与第2行的开大括号}对应,以结束该组件之定义(在本例中为整个对话框的定义,即第1行的dialog组件注意:上例中缩排只为方
文档评论(0)