




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
构造AutoCAD 用户图标菜单李正海摘要:本文介绍了利用对话框定义程序、对话框驱动程序构造用户图标菜单的方法。关键字: 用户图标菜单 对话框 构件 AutoCAD图标菜单(ICON)是一种图形用户接口(GUI),具有直观、明了、用户界面友好的优点,因此笔者在开发AutoCAD图形库项目时, 决定采用它来管理零件的种类、型号。 但是AutoCAD本身的图标菜单的功能较弱,使用不灵活。 其主要表现是不管用户使用多少个图像按钮(Image_button),使用何种形状、大小的图像,一幅图标菜单总是包括二十个图像按钮,而且按钮中的图像的形状、大小固定不变。造成若用图标菜单来管理一些较简单的图形,例如液压符号,那么每幅菜单管理的符号的数目太少,屏幕的利用率很低;而另一方面若用它来管理一些较复杂的图形,例如管接头,那么屏幕上显示出来的图像又太小,看不清楚。 为了解决上述的问题,笔者利用对话控制语言 ( DCL) 编写对话框定义程序,利用AutoLISP语言编写对话框驱动程序,构造出用户图标菜单,保持与AutoCAD 本身一致的用户界面, 根据需要适当地控制菜单中图像的形状和大小, 从而增加了图标菜单使用的灵活性,使屏幕的显示范围得到充分的利用又使显示的图像能看得清楚,收到了良好的效果。本文就使用九个图像按钮的用户图标菜单的构造方法做一些简要的介绍,以供AutoCAD开发人员参考。 一、AutoCAD本身图标菜单的构成和使用方法 因为用户图标菜单和与AutoCAD 本身图标菜单的界面与操作基本一致,因此首先介绍AutoCAD 本身图标菜单的构成与使用方法。 AutoCAD的图标菜单是一种特殊的对话框,它以组为单位, 每一组都有一个在AutoCAD系统中唯一的名称,都含有多个图像按钮, 而每个图像按钮都有一个对应的幻灯片,有一行文字的提示。它的构造方法是在AutoCAD 菜单文件中的图标菜单定义部分中加入图标菜单的定义来完成的,这些定义的内容包括上述的图标菜单的名称、标题说明、各图像按钮使用的幻灯片、文字提示以及拾取该图像按钮时对应的操作。以下的数行即为一个图标菜单定义的范例(分号后为说明): *icon ;图标菜单部分的定义 *fonts1 ;图标菜单组名称 Select Text Font ;图标菜单组标题说明 acad(romans,Roman Simplex)_style romans romans ;acad:幻灯片库名 romans:幻灯片名 ;Roman Simplex:文字提示 _style romans romans:对应操作 图标菜单一般通过拾取屏幕菜单、下拉菜单激活,激活后在屏幕的中间显示出如图1所示的对话框, 它的最上边是这个图标菜单的标题说明,左边是一个列表框(List Box),右边是二十个图像按钮,最下边是并列的四个按键(Button),分别为Previous、Next、 OK 和Cancel。 对图标菜单的操作和系统的响应包括以下几种: 1.拾取一个图像按钮(将鼠标移动到一个对象上,按一下鼠标左键的操作称为拾取)。该图像按钮四周出现反显的图形,表示该图像按钮被激活,同时列表框中与该图像按钮对应的文字反显。若某些图像按钮中无图像,则图像按纽不可拾取。 2.拾取列表框的一行文字。这一行文字反显,同时与该列表框中文字对应的图像按钮四周的图形反显。如果该图标菜单的菜单项较多,一屏显示不了时,则可按动列表框中的上下箭头,使列表框中的文字上下滚动,而一旦拾取列表框中的某一行文字时,若对应的图像不在当前的屏幕上,则图标菜单翻页,使对应的图像显示出来,并且其四周反显、激活。 3.拾取OK按键。图标菜单撤销,已选择的图像按钮或列表框对应的操作开始执行。 4.拾取Cancel按键。图标菜单撤销,原先的选择放弃。 5.拾取Previous、Next按键。图标菜单向前、向后翻页。但是如果当前的图标菜单没有前面或后面的图像,那么对应的Previous或Next按键虚显,不可拾取。 6.快速双击某一个图标按钮或列表框的一行文字,相当于先拾取它,再拾取OK按键。 二、编写对话框定义程序 用户图标菜单也是对话框,构造对话框的内容包括两部分内容:1.利用对话控制语言(DCL) 编写对话框定义程序;2.利用AutoLISP语言编写对话框驱动程序。首先介绍对话框的定义程序。 对话框是各种对话框标准部件的有机组合,这些部件称为构件。每一个构件都包含着定义其功能和形象的属性(Attributs),这些属性包括构件的尺寸大小、 颜色、图像名称、拾取属性、构件使用的关键字等等。对话框定义程序则是以DCL 为扩展名的ASCII码文本文件,它包括了对话框所有构件的定义。 创建用户图标菜单使用的对话框构件包括与AutoCAD 本身图标菜单一致的按键、图像按纽、列表框,另外还有对话构件、构件聚合、空白和退出按键。分别按功能介绍如下: 1.对话构件。对话构件Dialog是对话框的最外层定义,对话框其它的部分都由它开始,任何一个对话框的定义代码都包含该构件。对话构件的标志属性显示在对话框的框楣上,相当于AutoCAD本身的图标菜单的标题说明。 2.预定义动作构件。用户图标菜单中的列表框、图像按钮和按键属于预定义动作构件。预定义动作构件是对话框中最重要的构件类型,它由对话框驱动程序定义当用户拾取该构件时的操作。 在定义列表框和图像按钮时,它们的Allow_accept属性都被设置为真,这样用户用鼠标快速双击它们即等价于先拾取某个对象再拾取接受键。 前后翻页键Previous和Next键定义了热键Alt+P和Alt+N。 3.构件聚合。构件聚合定义构件之间的位置关系,在用户图标菜单中使用了一些行(Row)与列(Column)的构件以确定各个图像按纽和列表框之间的位置关系。 4.修饰和说明。修饰和说明包括文字、空白和图像,在用户图标菜单中仅使用了一些空白以调整各按键之间的位置关系。 5.对话框退出按钮。用户图标菜单中使用了OK and Cancel 对话框退出按键,形成两个按键,这两个按键的关键字是由AutoCAD系统确定的,而OK 按键又称为接受键,Cancel按键又称为放弃键。 图2表示了用户图标菜单的各个构件,并显示了它们之间的位置、 逻辑关系,而以下则是用户图标菜单对话框定义程序的部分内容:user_icon : dialog label = User Icon L.Z.H; :row :list_boxkey=listbox1;label=Select a part:;list=;allow_accept=true; :column image_button key=icon1;height=6;width=18;allow_accept=true; :row :spacer width=3; :button label = Previous; key = prebutton;mnemonic=P; ok_cancel; 三、编写对话框驱动程序 对话框驱动程序的任务包括装入对话框定义文件、显示对话框、初始化对话框的构件、激活对话框、处理用户操作和隐去、撤销对话框。对话框驱动程序有两种,一种是ADS C 语言程序,一种是AutoLISP程序。笔者使用的是AutoLISP程序,介绍如下: 1.装入DCL文件。要使用对话框,首先就要装入它的定义文件,在AutoLISP 语言中使用的函数是 LOoad_dialog,它返回装入的对话框定义文件的索引号。 2.显示对话框。对话框定义文件装入后,就可根据装入的对话框定义文件的索引号,利用New_dialog函数把它显示在屏幕上。 3.初始化对话框的构件。这一部分将在本文的后边做详细介绍。 4.激活对话框。激活对话框是指对话框处于活动状态,其中的构件是可选择的,而且当某构件被选择后,该构件设定的动作将被自动执行。 5.隐去对话框。对话框激活后,要将其从屏幕上去掉,就必须使用 Done_dialog函数。 6. 卸出对话框是指对话框使用结束后, 释放它占用的内存, 使用的函数为Unload_dialog。 初始化对话框构件是编写对话框驱动程序的主要内容,它包括构造列表框的内容,定义图像按钮的图像,指定构件的状态和对构件赋予动作等等。这里笔者介绍管理23种型号紧固件组合件的用户图标菜单对话框驱动程序中初始化对话框构件的部分。 在用户图标菜单中,使用一个列表框描述零件的标准代号,列表框的内容是一个表,这个表构造的方法是用Start_list函数创建一个表,用Add_list函数把零件标准代号的字符串加入到表中,最后用End_list函数结束表的构造。 图像按纽中的图像是零件的图样,这些图像的构造方法是利用AutoCAD 软件绘制出零件的图样,生成幻灯片, 并组成幻灯片库, 然后在对话框驱动程序用利用Start_image函数创建图像,然后用Slide_image函数在图像构件上绘出一幅幻灯图,最后用End_image函数结束图像的构造。 对构件赋予动作的方法是利用Action_tile函数把一个AutoLISP 子程序赋予某一个构件的关键字。这样当对话框激活后,只要拾取某个构件,它的关键字对应的程序就被自动执行。例如下面的一句程序: (action_tile nextbutton (nextbutton) 在对话框定义程序中有一个“Next”按键,它的关键字是“nextbutton”; 在AutoLISP程序中有一个nextbutton子程序。执行上面的一句程序就把“Next”按键和nextbutton子程序联系起来了,这样当对话框激活后,只要用户拾取一下“Next”按键,nextbutton子程序中的所有语句就被自动执行。 由于紧固件的型号为23种,一屏图像菜单显示不完,因此笔者按九个图像按纽一屏把图像分为三页,编写一个按页号显示图像的AutoLISP子程序。在这个程序中,由于第三页中的后四个图像按纽没有使用,因此当显示第三页的图像时,需要把后四个图像按纽的状态置为禁止,而当显示前两页的图像时,需要把后四个图像按纽的状态置为启动。另外由于对话框中的图像是幻灯,就象绘有图形的胶片一样是透明的, 不能直接按前面所述的方法构造出图像, 必须首先用填充图像的函数Fill_image,利用屏幕的背景色把图像的内容清除,再用Slide_image 函数绘出幻灯图。 程序在执行到初始化构件时,首先构造列表框的内容,然后显示第一页图像,把第一个图像按纽置为聚焦构件,并改变该图像按纽的图像四周的显示状态,使其变得显目,接着就为每个构件赋予各种动作,下面就介绍各个构件的对应的子程序: 1.图像按纽的对应程序Seticon 该程序在按下一个图像按纽时执行,它首先把原显目的图像按纽的显示状态还原,然后把当前的图像按纽的显示状态变成显目,并置其为聚焦构件,再把对应的列表框中的内容反显,最后记录下图像按纽的索引号。该子程序是通用的,它的入口参数是零件的序号。 2.列表框的对应程序Listbox 当选择列表框的一行文字时,该程序就开始执行,它首先得出该行文字在列表框中的位置,然后计算出该项对应的图像的页号和它在屏幕中的序号,若当前显示的图像的页号与新的页号不同,则调用按页号显示图像的子程序显示出新的图像,最后再调用子程序Seticon,把对应的图像按纽的显示状态变成显目, 并将它置为聚焦构件。 3.前后翻页按键对应的程序Prebutton和Nextbutton 用户拾取Previous或Next键后,程序Prebutton和Nextbutton根据当前的页号,得出新的页号,显示出图像,调用子程序Seticon, 把第一个图像按纽的显示状态变成显目,并将它置为聚焦构件,将列表框中对应的行反显。 4.OK与Cancel按键对应的程序 OK_Cancel是一种标准的对话框退出构件, 它对应的程序负责对话框的隐去,并记录用户的菜单选择。OK按键对应的程序根据当前图像的页号、序号,计算出零件的序号,利用Done_dialog函数撤销掉对话框。而Cancel 按键对应的程序则置紧固件的序号为零,利用Done_dialog函数撤销掉对话框。 四、用户图标菜单的使用与对话框驱动程序的自动构成 利用Load函数装入对话框的驱动程序,再执行它以后,用户图标菜单就激活在屏幕上,用户
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国移动上海产业研究院博士后专项招聘笔试题库历年考点版附带答案详解
- 2025中国电信安全公司春季校园招聘笔试题库历年考点版附带答案详解版
- 2025年工业0行业智能制造与自动化生产研究报告
- 2025年建筑行业智能建筑技术与建筑设计研究报告
- 2025年数字货币行业区块链技术应用与未来发展研究报告
- 2025年文化传媒行业数字内容价值创新报告
- 土地分配的协议书
- 2025年区块链行业区块链技术应用案例与未来发展前景报告
- 2025年家居装饰行业个性化定制与绿色环保发展研究报告
- 2025年石油化工行业低碳生产技术研究报告
- 2025年合肥市轨道交通集团有限公司第二批次社会招聘12人考试历年参考题附答案详解
- 甘肃电网考试题目及答案
- 2025年专升本医学影像检查技术试题(含参考答案)解析
- 《互联网应用新特征》课件+2025-2026学年人教版(2024)初中信息技术七年级全一册
- 过节前安全培训课件
- 高二生物上学期第一次月考(安徽专用)(全解全析)
- 模具安全操作注意培训课件
- 3.2《参与民主生活 》- 课件 2025-2026学年度道德与法治九年级上册 统编版
- 农产品电子商务运营 教学大纲、教案
- 2025年秋新北师大版数学2年级上册全册同步教学设计
- 抖音短视频签约合同范本
评论
0/150
提交评论