当前位置:首页 > 帮助文档 > COM开发 > 自定义命令
简介函数说明注册命令响应命令执行改写控件已有命令
简介

在CAD软件操作中,所有功能都是命令方式运行,比画直线的命令名为Mx_Line,控件提供RegistUserCustomCommand函数注册一个命令。参考例子:点击此处下载演示实例

函数说明

_DMxDrawX::RegistUserCustomCommand


向CAD控件注册一个命令,用户在命令行输入命令名这个字符串,就会触发执行命令事件 命令事件的id就是该注册时的id值,成功返回true。详细说明如下:


参数 说明

BSTR pszCommandName

命令名称

LONG lId

命令id

注册命令

在面代码在控件加载完成后,注册一个MyTest命令。


 private void axMxDrawX1_InitComplete(object sender, EventArgs e)

{

            // 在控件加载完成后,注册一个MyTest命令,命令id 55.

            axMxDrawX1.RegistUserCustomCommand("MyTest", 55);

}


响应命令执行

响应控件命令执行事件:

cmd1.png

 

 

   private void axMxDrawX1_ImplementCommandEvent(object sender, AxMxDrawXLib._DMxDrawXEvents_ImplementCommandEventEvent e)
        {
            if (e.iCommandId == 55)
            {
                MessageBox.Show("执行MyTest命令");
            }

 

命令行输入 MyTest的效果:

 




 

cmd2.png

 

 

 

  在代码中也可以如下方式调用命令:

axMxDrawX1.SendStringToExecute("MyTest");

 

改写控件已有命令

调用RegistUserCustomCommand函数注册一个命令时,如果系统中已经了该命令,它会覆盖该命令。

下面演示,一下如何重写打印命令

 

A. 查看打印命令名

 点工具条上的打印按钮,在命令行提示的命令字符串,就是打印命令名,如上图:

 

cmd3.png

 

B. 注册打印命令为自定义命令

 axMxDrawX1.RegistUserCustomCommand("Plot", 55);

 

C. 响应自定义命令

 private void axMxDrawX1_ImplementCommandEvent(object sender, AxMxDrawXLib._DMxDrawXEvents_ImplementCommandEventEvent e)
        {
            if (e.iCommandId == 55)
            {
                MessageBox.Show("执行打印命令 Polt");
            }

 

 D.运行效果如下:

cmd5.png


 

梦想CAD是专业的CAD插件(控件),可轻松在网页、手机及BS/CS程序中浏览编辑DWG文件,不需安装AutoCAD即可运行。经十余年累积已非常稳定可靠,有关键的空间搜索算法,并使用汇编优化,可同时处理50万级实体,有非常高的图形显示和处理效率。
联系我们
技术TEL:400-888-5703
185-8173-1060
客服 QQ: 3570505660
技术 QQ: 6884123
VIP服务购买
销售TEL:156-8136-8971
销售QQ:710714273
梦想绘图资讯
梦想绘图更新通知群Ⅰ:73281982
梦想绘图更新通知群Ⅱ:112199959
MxCAD软件更新通知群Ⅰ:515771658
技术I:QQ
6884123
客服I:QQ
3570505660
销售QQ
710714273
联系电话400-888-5703