cad自定义菜单cui_AutoCAD.NET二次开发:创建自定义菜单
1、在项目中添加引用:AcCui.dll,这个DLL存放在CAD的安装目录中。但是,好像CAD2007之前的版本里没有这个DLL),我电脑上安装了CAD2004、CAD2005、CAD2008、CAD2010,其中,只有CAD2008和CAD2010中有这个DLL。
2、在代码中添加using:
usingAutodesk.AutoCAD.Runtime;usingAutodesk.AutoCAD.Customization;using System.Collections.Specialized;
3、声明一个自定义组,在这个组中可以自定义我们的命令、菜单、工具栏等。
//自定义的组名
string strMyGroupName = "MyGroup";//保存的CUI文件名(从CAD2010开始,后缀改为了cuix)
string strCuiFileName = "MyMenu.cui";//创建一个自定义组(这个组中将包含我们自定义的命令、菜单、工具栏、面板等)
CustomizationSection myCSection = newCustomizationSection();
myCSection.MenuGroupName= strMyGroupName;
4、创建命令组,并添加菜单命令
//创建自定义命令组
MacroGroup mg = new MacroGroup("MyMethod", myCSection.MenuGroup);
MenuMacro mm1= new MenuMacro(mg, "打开文件", "OF", "");
MenuMacro mm2= new MenuMacro(mg, "打开模板", "OM", "");
MenuMacro mm3= new MenuMacro(mg, "保存", "SV", "");
5、创建菜单,如果菜单项是单级菜单,则直接声明为PopMenuItem即可;如果菜单项下有子级,则将其子级放到一个PopMenu中,然后将这个PopMenu放到PopMenuRef中,最后将PopMenuRef放到总菜单中。按照这个原理,可以创建多级菜单。
//声明菜单别名
StringCollection scMyMenuAlias = new StringCollection();
scMyMenuAlias.Add("MyPop1");
scMyMenuAlias.Add("MyTestPop");//菜单项(将显示在项部菜单栏中)
PopMenu pmParent = new PopMenu("我的菜单", scMyMenuAlias, "我的菜单", myCSection.MenuGroup);//子项的菜单(多级)
PopMenu pm1 = new PopMenu("打开", new StringCollection(), "", myCSection.MenuGroup);
PopMenuRef pmr1= new PopMenuRef(pm1, pmParent, -1);
PopMenuItem pmi1= new PopMenuItem(mm1, "文件", pm1, -1);
PopMenuItem pmi2= new PopMenuItem(mm2, "模板", pm1, -1);//子项的菜单(单级)
PopMenuItem pmi3 = new PopMenuItem(mm3, "保存(&S)", pmParent, -1);
6、保存菜单文件
//最后保存文件
myCSection.SaveAs(strCuiFileName);
下面是一个测试程序的源码,开发环境是:VS2005 + CAD2008
原文:http://www.cnblogs.com/bomb12138/p/3600842.html
cad自定义菜单cui_AutoCAD.NET二次开发:创建自定义菜单相关推荐
- cad自定义菜单cui_AutoCAD.NET二次开发:创建自定义菜单(AcCui)
从CAD2007之后,Autodesk提供了一个新的程序集AcCui.dll,使用这个程序集,我们可以方便地做一些界面方面的操作,比如创建自定义菜单. 下面介绍一下菜单的创建过程: 1.在项目中添加引 ...
- php 自定义菜单 openid,微信公众平台开发(99) 自定义菜单获取OpenID
关键字 微信公众平台 自定义菜单 OpenID 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-menu-get-openid.html 在这篇 ...
- [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...
Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载] 文章来源:http://blog.csdn.net/chengking/archive/2007/0 ...
- NX二次开发-UFUN自定义尺寸导出NX窗口区域图像UF_DISP_create_framed_image
NX二次开发-UFUN自定义尺寸导出NX窗口区域图像UF_DISP_create_framed_image NX9+VS2012#include <uf.h> #include <u ...
- cad自动运行dvb lisp_CAD二次开发程序的自动加载与使用
常见的CAD二次开发程序有dvb.vlx.fas.lsp.arx和dll.在CAD中加载这几种程序之前,需要知道程序内部包括的命令,否则你加载完成了用不了. 在CAD命令窗口中输入"appl ...
- dedecms二次开发:自定义模型使用教程
dedecms二次开发:自定义模型使用教程 在织梦系统中有内容模型这个概念,不同内容模型可以用来构建不同内容形式的站点,在系统中自带了以下几种模型:普通文章.图集.软件.商品.分类信息.专题.通过系统 ...
- C#ArcEngine二次开发——创建与调用AOI书签
基于ArcEngine10.2和VS2012进行C#ArcEngine二次开发 创建与调用AOI书签 在如图所示的程序主窗体菜单栏中添加一个菜单项"创建书签",其控件名为" ...
- c++ Arx二次开发创建椭圆和样条曲线
一.本节课程 c++ Arx二次开发创建椭圆和样条曲线 二.本节要讲解的知识点 1.如何应用C++ ARX二次开发创建椭圆(对AcDbEllipse类的构造函数的直接封装和根据外接矩形来创建椭圆) 2 ...
- NX/UG二次开发创建曲面偏置体
NX/UG二次开发--创建曲面偏置体 创建曲面偏置体 1.曲面偏置 创建曲面偏置体 这里介绍了一种对模型曲面进行偏置来获得偏置体的方法. 1.曲面偏置 void OffsetFace(tag_t fa ...
最新文章
- 用 Python 写个贪吃蛇,保姆级教程
- Kendall’s tau-b,pearson、spearman三种相关性的区别(有空整理信息检索评价指标)
- Lucene第一篇【介绍Lucene、快速入门】
- VC中获取窗口句柄的各种方法
- fifo java_java linux fifo文件通信
- Linux CentOS下安装Oracle
- java crud事件回调_java回调机制 - 神是到着念的个人空间 - OSCHINA - 中文开源技术交流社区...
- pageContext对象、JSP标签
- 我发现Facebook Messenger漏洞可使安卓用户互相监听,获奖6万美元
- php支付sdk接入网站教程,laravel 5.5 接入蚂蚁金服官方SDK(支付宝APP支付为例)开发步骤...
- @Resource注解
- 银行信用卡客户价值分析(Python数据分析)
- DataX--异构数据源数据交换工具
- 改(微微微微微小说)
- web在线聊天页面代码
- Hudi Clean 清理文件实现分析
- PHPWord在文档中插入表格
- H.264中NALU、RBSP、SODB的关系 (弄清码流结构)
- 三维目标检测论文阅读:PointPillars: Fast Encoders for Object Detection from Point Clouds
- Unity幸运转盘项目实战