许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  AutoCAD下菜单创建方法

AutoCAD下菜单创建方法

阅读数 2
点赞 0
article_banner

环境:vs2005,autocad2008

using System.Windows.Forms;
using System.Collections; // For ArrayList
using System.Diagnostics;

using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Colors;

using Autodesk.AutoCAD.EditorInput;

using Interop = Autodesk.AutoCAD.Interop;
using services=Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.Windows;
using AutoCAD = Autodesk.AutoCAD;
using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Interop;
using Autodesk.AutoCAD.ApplicationServices;
using System.Reflection;

类  需要实现接口 IExtensionApplication,并实现 Initialize()方法,该方法是在dll文件被加载时,进行 系统 初始化

,并在 Initialize()中添加以下 代码 ,即可实现导航菜单的新增

  //COM方式获取AutoCAD应用程序对象

            AcadApplication acadApp = (AcadApplication)services.Application.AcadApplication;
            //为AutoCAD添加一个新的菜单,并设置标题为"我的菜单"
     AcadPopupMenu pm = acadApp.MenuGroups.Item(0).Menus.Add("建筑节能");


     //声明一个AutoCAD弹出菜单项,用于获取添加的菜单项对象
     AcadPopupMenuItem pmi;
     //在新建的菜单中添加一个名为"圆"的菜单项,以调用绘制圆命令
     pmi = pm.AddMenuItem(pm.Count + 1, "热评估", "topMenu ");


     pm.InsertInMenuBar(acadApp.MenuBar.Count + 1);
        

核心代码为

 pmi = pm.AddMenuItem(pm.Count + 1, "热评估", "topMenu ");

第一个参数表示菜单的位置,第2个为菜单名,第3个参数为需要调用的autocad命令,可以是系统自带的命令诸如_help.也可以自定义,这个是使用的自定义命令topMenu,作用为当点击菜单热评估的时候,打开一个新 窗体

  [CommandMethod("topMenu")]
        public void addTopMenu() {
            Form1 f = new Form1();//new 一个新窗体
            Autodesk.AutoCAD.ApplicationServices.Application.ShowModalDialog(f);//以autocad的方式打开,而非winForm形式
           
        }

效果如下图


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空