乐筑天下

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

打开临时功能区

[复制链接]

2

主题

2

帖子

1

银币

初来乍到

Rank: 1

铜币
10
发表于 2019-6-13 09:16:11 | 显示全部楼层 |阅读模式

我制作了一个功能区,当我单击图标时,我的新功能区是“创建”。我选择了一个带有新图标的命令(例如圆形),当我完成命令时,我想关闭此功能区以查找我的第一个功能区
在其他时间,我希望在执行命令期间激活命令并显示新功能区。…
  1. namespace RibbonSample
  2. {
  3.     public class Ribbon
  4.     {
  5.         
  6.         [CommandMethod("MyRibbon")]
  7.         public void MyRibbon()
  8.         {           
  9.             Autodesk.Windows.RibbonControl ribbonControl = Autodesk.Windows.ComponentManager.Ribbon;
  10.             RibbonTab Tab = new RibbonTab();
  11.             Tab.Title = "Autodesk .NET forum Ribbon Sample";
  12.             Tab.Id = "RibbonSample_TAB_ID";
  13.             Tab.IsContextualTab = false;
  14.             ribbonControl.Tabs.Add(Tab);
  15.            // create Ribbon panels
  16.            Autodesk.Windows.RibbonPanelSource panel1Panel = new RibbonPanelSource();
  17.            panel1Panel.Title = "Panel1";
  18.            RibbonPanel Panel1 = new RibbonPanel();
  19.            Panel1.Source = panel1Panel;
  20.            Tab.Panels.Add(Panel1);
  21.             RibbonButton pan1button1 = new RibbonButton();
  22.             pan1button1.Text = "Button1";
  23.             pan1button1.ShowText = true;
  24.             pan1button1.ShowImage = true;
  25.             pan1button1.Image = Images.getBitmap(Properties.Resources.Small);
  26.             pan1button1.LargeImage = Images.getBitmap(Properties.Resources.large);
  27.             pan1button1.Orientation = System.Windows.Controls.Orientation.Vertical;
  28.             pan1button1.Size = RibbonItemSize.Large;
  29.             panel1Panel.Items.Add(pan1button1);
  30.             Tab.IsActive = true;
  31.             pan1button1.CommandHandler = new RibbonCommandHandler();
  32.             pan1button1.CommandParameter = "Test ";     
  33.                            
  34.         }
  35.         [CommandMethod("Test")]
  36.         public void MyRibbon2()
  37.         {
  38.             Autodesk.Windows.RibbonControl ribbonControl = Autodesk.Windows.ComponentManager.Ribbon;
  39.             RibbonTab Tab1 = new RibbonTab();
  40.             Tab1.Title = "Autodesk test";
  41.             Tab1.Id = "RibbonSample_TAB_ID";
  42.             Tab1.IsContextualTab = false;
  43.             ribbonControl.Tabs.Add(Tab1);
  44.             
  45.             // create Ribbon panels
  46.             Autodesk.Windows.RibbonPanelSource panelPanel = new RibbonPanelSource();
  47.             panelPanel.Title = "Panel test";
  48.             RibbonPanel Panel = new RibbonPanel();
  49.             Panel.Source = panelPanel;
  50.             Tab1.Panels.Add(Panel);
  51.             RibbonButton pan1button1 = new RibbonButton();
  52.             pan1button1.Text = "Button test";
  53.             pan1button1.ShowText = true;
  54.             pan1button1.ShowImage = true;
  55.             pan1button1.Image = Images.getBitmap(Properties.Resources.Small);
  56.             pan1button1.LargeImage = Images.getBitmap(Properties.Resources.large);
  57.             pan1button1.Orientation = System.Windows.Controls.Orientation.Vertical;
  58.             pan1button1.Size = RibbonItemSize.Standard;
  59.             panelPanel.Items.Add(pan1button1);
  60.             Tab1.IsActive = true;
  61.             
  62.             pan1button1.CommandHandler = new RibbonCommandHandler();
  63.             pan1button1.CommandParameter = "_Circle ";  
  64.            
  65.            
  66.                      
  67.         }
  68.         public class RibbonCommandHandler : System.Windows.Input.ICommand
  69.         {
  70.             public RibbonTab Getstatus(RibbonTab tab)
  71.             {
  72.                 return tab;
  73.             }
  74.             public bool CanExecute(object parameter)
  75.             {
  76.                 return true;
  77.             }
  78.             public event EventHandler CanExecuteChanged;
  79.             public void Execute(object parameter)
  80.             {
  81.                 Document doc = acadApp.DocumentManager.MdiActiveDocument;
  82.                 RibbonCommandItem cmd = parameter as RibbonCommandItem;
  83.                 doc.SendStringToExecute((string)cmd.CommandParameter, true, false, true);              
  84.               
  85.             }
  86.         }
  87.         public class Images
  88.         {
  89.             public static BitmapImage getBitmap(Bitmap image)
  90.             {
  91.                 MemoryStream stream = new MemoryStream();
  92.                 image.Save(stream, ImageFormat.Png);
  93.                 BitmapImage bmp = new BitmapImage();
  94.                 bmp.BeginInit();
  95.                 bmp.StreamSource = stream;
  96.                 bmp.EndInit();
  97.                 return bmp;
  98.             }
  99.         }
  100.     }
  101. }

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 09:02 , Processed in 0.237194 second(s), 54 queries .

© 2020-2024 乐筑天下

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