浏览 4275 次
锁定老帖子 主题:autocad下菜单创建
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-01
最后修改:2010-07-01
环境: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形式 }
效果如下图
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |