明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5096|回复: 6

C# autoCAD添加自定义菜单

[复制链接]
发表于 2011-9-16 15:52:26 | 显示全部楼层 |阅读模式
public class Class1
    {
        public Class1() { }
        [CommandMethod("AM")]
        public static void AddMenuCom()
        {
            AcadApplication acadApp = (AcadApplication)Marshal.GetActiveObject("AutoCAD.Application.16.2");
            acadApp.Visible = true;
            AcadMenuBar menuBar = acadApp.MenuBar;
            AcadMenuGroup menuGroup = acadApp.MenuGroups.Item(0);
            AcadPopupMenus menus = menuGroup.Menus;
            AcadPopupMenu mymenu = menus.Add("MyMenu2");
            mymenu.AddMenuItem(0, "Hello", "hello ");
            mymenu.AddSeparator(1);
            mymenu.AddMenuItem(2, "Hello2", "hello ");
            AcadPopupMenu ext = mymenu.AddSubMenu(3, "Ext");
            ext.AddMenuItem(0, "Hello", "hello ");
            ext.AddSeparator(1);
            ext.AddMenuItem(2, "Hello2", "hello ");
            mymenu.InsertInMenuBar(menuBar.Count - 2);
            //acadApp.MenuGroups.Item(0).Unload();
            //AcadPopupMenu pm = acadApp.MenuGroups.Item(0).Menus.Add("建筑节能");
            ////声明一个AutoCAD弹出菜单项,用于获取添加的菜单项对象   
            //AcadPopupMenuItem pmi;
            ////在新建的菜单中添加一个名为"圆"的菜单项,以调用绘制圆命令   
            //pmi = pm.AddMenuItem(pm.Count + 1, "热评估", "hello ");
            //pm.InsertInMenuBar(acadApp.MenuBar.Count + 1);
        }
        [CommandMethod("hello")]
        public static void Hello()
        {
            AcadApplication acadApp = (AcadApplication)Marshal.GetActiveObject("AutoCAD.Application.16.2");
            acadApp.ActiveDocument.Utility.Prompt("Helloworld\n");
        }
    }
=========================================================================
问题:
1.我菜单添加成功了。
2.提示 没有hello命令!
3.点击菜单为什么不执行C#代码?
4.有没有其他例子参考下?
 楼主| 发表于 2011-9-16 15:59:16 | 显示全部楼层
环境:VS2008+CAD2006
发表于 2011-9-17 12:01:07 | 显示全部楼层

cacl

本帖最后由 xgr 于 2011-9-17 12:08 编辑

[assembly: CommandClass(typeof(class.class1))]
把上句添加在using后
class是namespace,class1是含有命令的类。
发表于 2011-10-20 11:30:00 | 显示全部楼层
新手学习!!
发表于 2012-4-6 17:30:10 | 显示全部楼层
学习。需要传统菜单。
发表于 2012-7-28 20:38:14 | 显示全部楼层
学习学习。
发表于 2012-8-15 00:37:13 | 显示全部楼层
谢谢,第一次c#用cad成功呵呵
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 16:46 , Processed in 0.166737 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表