繁体中文
设为首页
加入收藏
当前位置:设计首页 >> CAD教程 >> AutoCAD菜单的开发技术

AutoCAD菜单的开发技术 (6)

2007-12-07 03:15:33  作者:佚名  来源:腾龙室内设计  浏览次数:259  文字大小:【】【】【


四、进一步完善菜单

  我们继续对菜单进入完善,包括给菜单项指定快捷键和增加状态栏提示信息,仍然是通过修改菜单文件来完成。前面我们定义的菜单中有一个小毛病没有克服:虽然我们在“直线”菜单项中写出该菜单项的快捷键是“Ctrl+L”,但我们并没有真正为这个菜单项分配任何快捷键。如果我们能把这个小小的Bug也去掉,那我们的菜单就尽善尽美了。

  分配快捷键涉及到两个菜单区域:一个是菜单项所在菜单区域,在我们前面的例子中就是定义菜单“绘制”的“***POP12”菜单区域;另一个就是专门定义快捷键的菜单区域“***ACCELERATORS”。为了两个菜单区域可以进行正确的通讯,必须为需要快捷键的“直线”菜单项定义一个唯一而规范的名称,AutoCAD把这个名称叫做“名称标记”。名称标记是将一个菜单项与其它菜单项区别开的唯一标志。名称标记只能是字母和下划线的组合,放在菜单项标签之前,就能把标签作为名称标记,因为标签的命名规则太笼统,而且同一个标签名可以出现在不同的菜单区域当中。为了给菜单项分配快捷键,首先应该给每个菜单项一个有意义而且唯一的菜单标记,现在我们还是以前面的例子为每个菜单项定义菜单标记,其代码如下:

  ***POP12

  **MyDraw

  ID_MyDraw [绘制]

  ID_MyLine [直线(&L) Ctrl+L] ^c^c^_line

  ID_MyCircle [->圆] ^c^c_circle

  ID_RFCrl [R50圆] ^c^c_circle 50

  ID_RECrl [<-R80圆] ^c^c_circle 80

  [--]

  ID_MyText [~文字] ^c^c_text


  接下来,我们为“直线”菜单项分配快捷键。找到“***ACCELERATORS”菜单区域,它通常在菜单样板文件的末尾处,在此区域添加如下字样:

  ID_MyLine [CONTROL+"L"]

  注意要把这些文字添加在“***ACCELERATORS”区域的第一行。存盘退出文本编辑器,在AutoCAD中执行Menu命令重新载入ACAD.MNU文件,按下Ctrl+L键,AutoCAD开始执行Line命令。这里我们只为直线菜单项定义了快捷键,您完全可以根据需要给其它菜单项定义快捷键。

  理解了为菜单项增加快捷键的方法,增加状态栏帮助文本就显得很简单了。在菜单样板文件中有一个菜单区域“***HELPSTRINGS”,这个菜单区域保存了其它菜单项的帮助文本,找到这个菜单区域,在这个菜单区域内添加如下代码。

  ID_MyLine [绘制直线]

  ID_RFCrl [绘制一个半径为50的圆]

  ID_RECrl [绘制一个半径为80的圆]

  存盘退出文本编辑器,在AutoCAD中执行Menu命令重新载入ACAD.MNU文件,再把光标指向“绘制”菜单中的某个菜单项时,状态栏中就是显示相应的提示信息,如图10所示。

现在我们已经基本建立了一个完整的菜单框架,您是否感觉这个开发过程有些繁琐呢?在冗长的ACAD.MNU文件中查找特定的菜单区域以及菜单样板文件缓慢的编译过程都不是一件很容易的事,下面将介绍一个更简单的方法来开发菜单。

  用文本编辑器建立一个文本文件,这个文件将我们在前面开发的所有内容综合在一起,文件内容如下:

  ***MENUGROUP=MyCAD

  ***POP12

  ID_MyDraw [绘制]

  ID_MyLine [直线(&L) Ctrl+L] ^c^c^_line

  ID_MyCircle [->圆] ^c^c_circle

  ID_RFCrl [R50圆] ^c^c_circle 50

  ID_RECrl [<-R80圆] ^c^c_circle 80

  [--]

  ID_MyText [~文字] ^c^c_text

  

  ***ACCELERATIORS

  ID_MyLine [CONTROL+"L"]

  

  ***HELPSTRINS

  ID_MyDraw [这是一个自定义的绘制菜单]

  ID_MyLine [绘制直线]

  ID_MyCircle [绘制圆]

  ID_RFCrl [绘制一个半径为50的圆]

  ID_RECrl [绘制一个半径为80的圆]

  ID_MyText [在绘图区插入文字]


  将此文件保存在AutoCAD的Support文件夹下,文件名称可以任意命名,我们这里保存为MyCAD.MNU。在AutoCAD中使用Menuload命令打开“菜单自定义”对话框,在“菜单栏”列表中将最下方的“绘制”菜单删除(也就是我们前面开发的菜单),在“菜单组”选项卡中载入MyCAD.MNU文件。在“工具栏”选项卡中插入“绘制”菜单项,单击“关闭”按钮关闭对话框。这时菜单栏中就有了新的“绘制”菜单项,正是我们在MyCAD.MNU文件中建立的。

  由Menuload命令调入的菜单称为局部菜单,载入局部菜单时只是将局部菜单中包含的菜单项插入菜单栏中,而不会删除原有的菜单项。当我们想开发新的菜单项时,可以将菜单的有关定义写成一个单独的文件,然后把这个文件作为局部菜单载入即可。

[1] [2] [3] [4] [5] [6]

责任编辑:


相关文章

最新文章

更多

· [图文] AutoCAD三维建模实...
· [图文] AutoCAD拉伸命令快...
· [图文] Photoshop各类外挂...
· [图文] Firewoks打造炫晕...
· [图文] AutoCAD三维造型实...
· [图文] AutoCAD结合Corel...
· [图文] AutoCAD中关于阿波...
· [图文] 用AutoCAD五分钟内...
· [图文] AutoCAD菜单的开发...
· [文章] 如何制作建筑效果图

推荐文章

更多

· [文章] MY SQL常用命令
· Access 新手来看
· [图文] 如何远程连接SQL ...
· [文章] MySQL数据库和备份...
· [文章] SQL数据操作基础(...
· [文章] MySQL5 改密码后不...
· [图文] 绘制可爱半透玻璃...
· U盘(auto病毒)类病...
· [图文] QQ2009技术预览版...
· [文章] 最新AUTO木马病毒...

热点文章

更多

· [精华] 教你怎样扣图,精彩...
· [图文] CorelDRAW海报版面...
· [文章] Lightscape渲染问...
· [图文] Lightscape室内阳...
· [图文] Lightscape室内设...
· [文章] Lightscape完整教程
· [图文] 无锯齿光域网渲染教程
· [图文] LS室内效果图渲染...
· [图文] Lightscape通道渲...
· [图文] 用Photoshop计算命...

推荐图文

Access 新手来看
Access 新手来看
如何远程连接SQL Server数据库
[图文] 如何远程连接SQL ...
绘制可爱半透玻璃圣诞帽
[图文] 绘制可爱半透玻璃...
QQ2009技术预览版快速体验 新功能真不少
[图文] QQ2009技术预览版...
危害性更大媒体文件木马攻防实战
[图文] 危害性更大媒体文...