AutoCAD .NET二次开发(二)

摘要:
GlobalName,全局名称,字符串,即命令。它应该是唯一的,否则呼叫时会发生意外。ContextMenuExtensionType,上下文菜单类型标志type,定义命令处于活动状态时的上下文菜单行为。除了上述构造函数之外,还有五个:CommandMethodAttributeCommandMethodAttributeCommand MethodAttributeCommandMethod AttributeCommandMethodAttribute CommandMethodAttributeAttributeCommandMethodMethodAttributeCommandCommandMethodAttribute。使用时的注意事项是:CommandMethodAttribute和CommandMethod是一个,无论使用哪一个;CommandMethodAttribute的使用需要添加相关引用,包括accordmgd、acdbmgd和acmgd;CommandMethod后面的有效行必须是函数。

今天专门讲一个——CommandMethod。我们都在知道CAD操作要快,必须要熟悉掌握各种命令。在Lisp开发中,在函数后C:即可添加一个命令,非常方法,在.NET API也可以非常方便的设置命令,它需要CommandMethod属性。

先来看CommandMethod的定义,它的构造函数很多,其中参数最全的一个如下图所示:

AutoCAD .NET二次开发(二)第1张

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

清空取回的先选择后执行设置;

免责声明:文章转载自《AutoCAD .NET二次开发(二)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇解决 vscode 卡顿,卡死,占用内存大的方案git查看某个文件的修改历史下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android启动页面实现版本检查更新

1、引入模块 CheckUpdateLibrary的github地址如下: https://github.com/qiangxi/CheckUpdateLibrary 打包下载,复制该文件下的两个文件夹到项目的extras文件夹下, 项目setting.gradle里面加入这两个模块。 include ':app', ':extras:ok...

Jakarta Java Mail属性参数配置

前言 Jakarta Mail网址:https://eclipse-ee4j.github.io/mail SMTP协议可匹配的属性:https://eclipse-ee4j.github.io/mail/docs/api/com/sun/mail/smtp/package-summary.html 翻译(Package com.sun.mail.smtp...

dynamic-insert和dynamic-update属性

dynamic-insert 作用:设置对象中没有值的字段 insert并不会对其进行插入. 实体类映射配置如下 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.o...

【JavaWeb学习】过滤器Filter

一、简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控制、过滤敏感词汇、压缩响应信息等一些高级功能。 Servlet API中提...

EhCache之最简单的缓存框架

一、简介 Ehcache是一个用Java实现的使用简单,高速,实现线程安全的缓存管理类库,ehcache提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案。同时ehcache作为开放源代码项目,采用限制比较宽松的Apache License V2.0作为授权方式,被广泛地用于Hibernate, Spring,Cocoon等其他...

Java安全之Axis漏洞分析

Java安全之Axis漏洞分析 0x00 前言 看到个别代码常出现里面有一些Axis组件,没去仔细研究过该漏洞。研究记录一下。 0x01 漏洞复现 漏洞版本:axis=<1.4 Axis1.4 freemarker 下载Axis包1.4版本将Axis放到tomcat的webapp目录中。freemarker.jar放到Axis的 lib目录下。运行t...