3
6
1
初来乍到
///////////////////////////////////////////////////////////////////////////////////////////////// //http://www.bimcad.org 数字建筑 //深居浅出AutoCAD二次开发(李冠亿) ///////////////////////////////////////////////////////////////////////////////////////////////// using System; using Autodesk.Windows; using Autodesk.AutoCAD.Runtime; [assembly: CommandClass(typeof(Sample.Ribbon))] namespace Sample { class Ribbon { [CommandMethod("AddRibbon")] public void AddRibbon() { RibbonControl rc = RibbonControl(); RibbonTab rt = RibbonTab("菜单标签", "1"); RibbonPanel rp = RibbonPanel("菜单面板"); RibbonButton rb = RibbonButton("菜单按钮", "菜单命令"); rp.Source.Items.Add(rb); rt.Panels.Add(rp); rc.Tabs.Add(rt); } /// /// 获得菜单控制 /// /// public static RibbonControl RibbonControl() { if (Autodesk.Windows.ComponentManager.Ribbon == null) Autodesk.Windows.ComponentManager.ItemInitialized += new EventHandler(ComponentManager_ItemInitialized); return ComponentManager.Ribbon; //Autodesk.AutoCAD.Ribbon.RibbonServices.RibbonPaletteSet.RibbonControl; // } /// /// 创建菜单标签 /// /// 标签名 /// 标签ID /// public static RibbonTab RibbonTab(string Name, string id) { RibbonTab ribTab = new Autodesk.Windows.RibbonTab(); ribTab.Title = Name; ribTab.Id = id; ribTab.IsActive = true; return ribTab; } /// /// 创建菜单面板 /// /// 面板名 /// public static RibbonPanel RibbonPanel(string Title) { RibbonPanelSource ribSourcePanel = new RibbonPanelSource(); // Autodesk.Windows ribSourcePanel.Title = Title;//now the panel RibbonPanel ribPanel = new RibbonPanel(); ribPanel.Source = ribSourcePanel; return ribPanel; } /// /// 创建菜单按钮 /// /// 按钮名 /// 命令名 /// public static RibbonButton RibbonButton(string btName, string cmdName) { RibbonButton ribButton = new RibbonButton(); ribButton.Text = btName; ribButton.CommandParameter = cmdName; ribButton.ShowText = true; ribButton.CommandHandler = new AdskCommandHandler(); return ribButton; } /// /// 用于激活菜单 /// /// /// static void ComponentManager_ItemInitialized(object sender, RibbonItemEventArgs e) { if (Autodesk.Windows.ComponentManager.Ribbon != null) Autodesk.Windows.ComponentManager.ItemInitialized -= new EventHandler(ComponentManager_ItemInitialized); } /// /// 执行按钮的命令 /// public class AdskCommandHandler : System.Windows.Input.ICommand { /// /// 是否可执行(接口) /// /// 命令名 /// public bool CanExecute(object parameter) { return true; } /// /// 改变可执行状态 /// public event EventHandler CanExecuteChanged; /// /// 执行命令 /// /// 命令的名字 public void Execute(object parameter) { //is from a Ribbon Button? RibbonButton ribBtn = parameter as RibbonButton; if (ribBtn != null) Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.SendStringToExecute((String)ribBtn.CommandParameter, true, false, true); //is from s Ribbon Textbox? RibbonTextBox ribTxt = parameter as RibbonTextBox; if (ribTxt != null) System.Windows.Forms.MessageBox.Show(ribTxt.TextValue); } } } }
使用道具 举报
72
2726
9
社区元老
举报
4
26
19
154
5
后起之秀
本版积分规则 发表回复 回帖后跳转到最后一页
微信公众平台
扫描访问手机版
点击图片下载手机App
|关于我们|小黑屋|乐筑天下 繁體中文
GMT+8, 2025-3-16 15:00 , Processed in 1.451553 second(s), 72 queries .
© 2020-2025 乐筑天下
在线时间:10:00-17:00
暂无
扫一扫,关注我们
帮助中心
关于我们
下载APP客户端