22
99
2
初露锋芒
public class RibbonMenu { [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 Autodesk.Windows.ComponentManager.Ribbon; } /// /// 用于激活菜单 /// /// /// static void ComponentManager_ItemInitialized(object sender, RibbonItemEventArgs e) { if (Autodesk.Windows.ComponentManager.Ribbon != null) { Autodesk.Windows.ComponentManager.ItemInitialized -= new EventHandler(ComponentManager_ItemInitialized); } } /// /// 创建菜单标签 /// /// 标签名 /// 标签id /// 菜单标签 public static RibbonTab RibbonTab(string name, string id) { RibbonTab ribTab = new RibbonTab(); ribTab.Title = name; ribTab.Id = id; ribTab.IsActive = true; return ribTab; } /// /// 创建菜单面板 /// /// 面板名 /// 菜单面板 public static RibbonPanel RibbonPanel(string title) { RibbonPanelSource ribSourcePanel = new RibbonPanelSource(); ribSourcePanel.Title = title; 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 CommandHandler(); return ribButton; } }
public class CommandHandler:System.Windows.Input.ICommand { /// /// 是否可执行接口 /// /// 命令名 /// public bool CanExecute(object parameter) { return true; } /// /// 改变可执行状态 /// public event EventHandler CanExecuteChanged; /// /// 执行命令 /// /// 命令的名字 public void Execute(object parameter) { RibbonButton ribBtn = parameter as RibbonButton; if (ribBtn != null) { Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.SendStringToExecute((String)ribBtn.CommandParameter,true,false,true); RibbonTextBox ribTxt = parameter as RibbonTextBox; if (ribTxt != null) { MessageBox.Show(ribTxt.TextValue); } } } }
使用道具 举报
32
651
8
中流砥柱
19
154
5
后起之秀
29
1
初来乍到
0
本版积分规则 发表回复 回帖后跳转到最后一页
微信公众平台
扫描访问手机版
点击图片下载手机App
|关于我们|小黑屋|乐筑天下 繁体中文
GMT+8, 2025-6-29 08:05 , Processed in 0.844963 second(s), 63 queries .
© 2020-2025 乐筑天下
在线时间:10:00-17:00
暂无
扫一扫,关注我们
帮助中心
关于我们
下载APP客户端