乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 68|回复: 3

[求助]怎么不能添加菜单?

[复制链接]

3

主题

13

帖子

1

银币

初来乍到

Rank: 1

铜币
25
发表于 2009-5-7 12:05:00 | 显示全部楼层 |阅读模式
下面是我根据autodesk系列产品开发 写的一段代码,我想往2008中加菜单,但怎么加不上?
请高手帮我看看!
using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Windows;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using System.Windows.Forms;
namespace cl
{
    class Class2Menu
    {
        [CommandMethod("Addmenu")]
        public void Addmenu()
        {
            AddContextMenu();
        }
        public ContextMenuExtension m_ContextMenu;
        private void AddContextMenu()
        {     
            m_ContextMenu = new ContextMenuExtension();
            m_ContextMenu.Title = "工程图系统";
            Autodesk.AutoCAD.Windows.MenuItem mi;
            mi = new Autodesk.AutoCAD.Windows.MenuItem("用户管理");
            mi.Click += MenuUserM_OnClick;
            m_ContextMenu.MenuItems.Add(mi);
            Autodesk.AutoCAD.ApplicationServices.Application.AddDefaultContextMenuExtension(m_ContextMenu);   
           
        }
        private void MenuUserM_OnClick(object Sender, EventArgs e)
        {
           
            MessageBox.Show("用户管理");        
           
        }
    }
}
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2009-5-7 13:34:00 | 显示全部楼层
public static void AddSModelPopupMenu()
    {
      try
      {
        AcadMenuGroups mnus = (AcadMenuGroups)app.MenuGroups;
        AcadPopupMenus pmnus = mnus.Item(1).Menus;
        int count = 0;
        foreach (AcadPopupMenu mnu in pmnus)
        {  
          if (mnu.OnMenuBar == true) count++;
        }
        AcadPopupMenu Menu_SModel = pmnus.Add("&Module");
        string macro = Convert.ToChar(Keys.Escape).ToString();      
        AcadPopupMenuItem MenuItem_MainForm = Menu_SModel.AddMenuItem(Menu_SModel.Count, "&MainForm", macro + "SMF ");
        MenuItem_MainForm.HelpString = "Show main window";
        AcadPopupMenuItem MenuItem_SetBoard = Menu_SModel.AddMenuItem(Menu_SModel.Count, "Set &Board", macro + "mBoardW ");
        MenuItem_SetBoard.HelpString = "Set Board Width";
      
        if (count == 0)//下拉菜单不同时间的装载情况会不一样
          pmnus.InsertMenuInMenuBar("&Module", count + 12);//AutoCAD 2006 有13个下拉菜单项
        else
          pmnus.InsertMenuInMenuBar("&Module", ++count);
      }
      catch (System.Exception ex)
      {      
      }
    }
回复

使用道具 举报

3

主题

13

帖子

1

银币

初来乍到

Rank: 1

铜币
25
发表于 2009-5-7 15:44:00 | 显示全部楼层
宏的用法一点不会啊,我是刚学autocad二次开发!感觉真难
回复

使用道具 举报

3

主题

13

帖子

1

银币

初来乍到

Rank: 1

铜币
25
发表于 2009-5-8 20:05:00 | 显示全部楼层

非常感谢,问题已经解决,感谢群友的热心帮助!
这是一个和谐的社会!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-28 14:50 , Processed in 0.239950 second(s), 60 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表