AutoCAD .NET二次开发(二)
2015-06-08 16:11
295 查看
今天专门讲一个——CommandMethod。我们都在知道CAD操作要快,必须要熟悉掌握各种命令。在Lisp开发中,在函数后C:即可添加一个命令,非常方法,在.NET API也可以非常方便的设置命令,它需要CommandMethod属性。
先来看CommandMethod的定义,它的构造函数很多,其中参数最全的一个如下图所示:
groupName组名,string,命令编组名称,一般在小项目开发中用得比较少。
globalName,全局名称, string,即命令,它应该是唯一的,不然在调用时会发生意外。
localizedNameId, 本地名称,string,指定语言的本地命令名称,不知道有什么用。
flags, 命令标志,CommandFlags,定义命令的行为。详见附表。
contextMenuExtensionType, 上下文菜单类型标志 ,Type, 定义命令处于活动状态时的上下文菜单行为。
helpFileName, 帮助文件名string,帮助文件,含有命令活动状态下按下F1时要显示的帮助主题。
helpTopic ,帮助主题,string。帮助文件中的主题。
除上面这个构造函数外,它还有5个:
CommandMethodAttribute(string globalName)
CommandMethodAttribute(string globalName, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags, string helpTopic)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags, Type contextMenuExtensionType)
在使用时的注意事项有:
(1)CommandMethodAttribute和CommandMethod是一个,不管使用哪一个都可以;
(2)CommandMethodAttribut的使用需要添加相关引用,包括accoremgd,acdbmgd和acmgd三个;
(3)CommandMethod后的有效行必须是一个函数。
附表:Command Flags命令标志
先来看CommandMethod的定义,它的构造函数很多,其中参数最全的一个如下图所示:
groupName组名,string,命令编组名称,一般在小项目开发中用得比较少。
globalName,全局名称, string,即命令,它应该是唯一的,不然在调用时会发生意外。
localizedNameId, 本地名称,string,指定语言的本地命令名称,不知道有什么用。
flags, 命令标志,CommandFlags,定义命令的行为。详见附表。
contextMenuExtensionType, 上下文菜单类型标志 ,Type, 定义命令处于活动状态时的上下文菜单行为。
helpFileName, 帮助文件名string,帮助文件,含有命令活动状态下按下F1时要显示的帮助主题。
helpTopic ,帮助主题,string。帮助文件中的主题。
除上面这个构造函数外,它还有5个:
CommandMethodAttribute(string globalName)
CommandMethodAttribute(string globalName, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags, string helpTopic)
CommandMethodAttribute(string groupName, string globalName, string localizedNameId, CommandFlags flags, Type contextMenuExtensionType)
在使用时的注意事项有:
(1)CommandMethodAttribute和CommandMethod是一个,不管使用哪一个都可以;
(2)CommandMethodAttribut的使用需要添加相关引用,包括accoremgd,acdbmgd和acmgd三个;
(3)CommandMethod后的有效行必须是一个函数。
附表:Command Flags命令标志
枚举值 | 描述 |
ActionMacro | 可以用动作录制器录制命令动作; |
DocReadLock | 命令执行时将被只读锁定; |
Interruptible | 提示用户输入时可以中断命令; |
Modal | 别的命令运行时不能运行此命令; |
NoActionRecording | 不能用动作录制器录制命令动作; |
NoBlockEditor | 不能从块编辑器使用该命令; |
NoHistory | 不能将命令添加到repeat-last-command(重复上一个命令)历史列表; |
NoPaperSpace | 不能从图纸空间使用该命令; |
NoTileMode | 当TILEMODE置1时不能使用该命令; |
NoUndoMarker | 命令不支持撤销标记。用于不修改数据库因而也就无需出现在撤销记录中的那些命令; |
Redraw | 不清空取回的先选择后执行设置及对象捕捉设置; |
Session | 命令运行于应用程序上下文,而不是当前图形文档上下文; |
Transparent | 别的命令运行时可以运行此命令; |
Undefined | 只能通过全局名使用命令; |
UsePickSet | 清空取回的先选择后执行设置; |
相关文章推荐
- Js 一些方法(一)
- SNMP MIB完整手册
- Java关键字——assert
- 使用 Genymotion 安装APP报错 INSTALL_FAILED_CPU_ABI_INCOMPATIBLE 解决办法
- Qemu对x86静态内存布局的模拟
- Java,JSP,JavaScript三者区别与联系
- 博客博文
- 移动端(html5)微信公众号下用keyup实时监控input值的变化无效
- (转)java垃圾回收一
- (笔试题)最大覆盖点
- I2S和PCM
- vmware通过地址连接SSH secureCRT解决缓慢的速度连接
- netcat的端口转发功能的实现
- Struts2拦截器的原理及实现
- C++ 中 五种基本的内存分配方式
- java读取默认编码是ansi的文本文件时,解决中文乱码问题
- Python中的self(Python笔记)
- 脚本中出现 window.open() access is denied - 拒绝访问 情况一则及分析
- 浅谈PHP中Stream(流)
- 解螺旋数组