当前位置: 首页 > news >正文

五百亿网站建设网站搭建平台价格

五百亿网站建设,网站搭建平台价格,微信公众号运营方案,网片这篇文章是教大家怎样子创建自己的Ribbon按钮界面#xff08;如下图#xff09;#xff0c;以下示例代码在CAD2020中运行实现。 背景 创建一个属于自己的Ribbon按钮#xff08;如下图#xff09; 理解Ribbon、Panel、Tab的关系#xff08;如下图#xff09;#xff… 这篇文章是教大家怎样子创建自己的Ribbon按钮界面如下图以下示例代码在CAD2020中运行实现。 背景 创建一个属于自己的Ribbon按钮如下图 理解Ribbon、Panel、Tab的关系如下图一个Tab包含多个Panel一个Panel包含多个RibbonButton 代码 using Autodesk.AutoCAD.Runtime; using Autodesk.Windows; using System; using System.Collections.Generic; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Interop; using System.Windows.Media.Imaging;[assembly:CommandClass(typeof(CADBlogDemo.Ribbon))] namespace CADBlogDemo {public class Ribbon{[CommandMethod(RibbonCmd)]public void RibbonCmd(){//得到所有的Ribbon选项卡列表集合RibbonControl ribbonCtrl ComponentManager.Ribbon;if (ribbonCtrl null) return;//加个判断如果有了这个选项卡就不重复添加if (ribbonCtrl.Tabs.FirstOrDefault(x x.Title MyRibbon) ! null) return;//添加选项卡RibbonTab tab AddTab(ribbonCtrl, MyRibbon, RibbonId1, true);//添加面板RibbonPanelSource panel AddPanel(tab, 我就是我);//添加按钮RibbonButton button CreateRibbonButton(panel, 点我\n点我, Demo\n, ${Path.GetDirectoryName(typeof(Ribbon).Assembly.Location)}\Images\123.png);}/// summary/// 添加Ribbon选项卡/// /summary/// param nameribbonCtrlRibbon控制器/param/// param nametitle选项卡标题/param/// param nameid选项卡ID/param/// param nameisActive是否置为当前/param/// returnsRibbonTab/returnspublic RibbonTab AddTab( RibbonControl ribbonCtrl, string title, string id, bool isActive){RibbonTab tab new RibbonTab();tab.Title title;tab.Id id;ribbonCtrl.Tabs.Add(tab);tab.IsActive isActive;return tab;}/// summary/// 添加面板/// /summary/// param nametabRibbon选项卡/param/// param nametitle面板标题/param/// returnsRibbonPanelSource/returnspublic RibbonPanelSource AddPanel(RibbonTab tab, string title){RibbonPanelSource panelSource new RibbonPanelSource();panelSource.Title title;RibbonPanel ribbonPanel new RibbonPanel();ribbonPanel.Source panelSource;tab.Panels.Add(ribbonPanel);return panelSource;}/// summary/// 创建按钮/// /summary/// param namepanel面板/param/// param namename按钮显示名字/param/// param namecmd需要绑定的命令/param/// param namephotoPath图片路径/param/// returns/returnspublic RibbonButton CreateRibbonButton(RibbonPanelSource panel, string name, string cmd, string photoPath){RibbonButton button new RibbonButton();button.Text name;button.ShowText true;Bitmap bitmap new Bitmap(photoPath);BitmapSource bitmapSource Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, System.Windows.Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());button.Image bitmapSource; //按钮图片button.LargeImage bitmapSource; //按钮大图片button.Size RibbonItemSize.Large;button.Orientation System.Windows.Controls.Orientation.Vertical;button.CommandHandler new RibbonCommandHandler();button.CommandParameter cmd;panel.Items.Add(button);return button;}}public class RibbonCommandHandler : System.Windows.Input.ICommand{public bool CanExecute(object parameter){return true;}public event EventHandler CanExecuteChanged;public void Execute(object parameter){//is from Ribbon ButtonRibbonButton ribBtn parameter as RibbonButton;if (ribBtn ! null){//execute the command Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.SendStringToExecute((string)ribBtn.CommandParameter, true, false, true);}}} } 讲解 先得到所有的Tab列表集合判断是否已经存在自己的选项卡了 //得到所有的Ribbon选项卡列表集合RibbonControl ribbonCtrl ComponentManager.Ribbon;if (ribbonCtrl null) return;新建选项卡Tab /// summary/// 添加Ribbon选项卡/// /summary/// param nameribbonCtrlRibbon控制器/param/// param nametitle选项卡标题/param/// param nameid选项卡ID/param/// param nameisActive是否置为当前/param/// returnsRibbonTab/returnspublic RibbonTab AddTab( RibbonControl ribbonCtrl, string title, string id, bool isActive){RibbonTab tab new RibbonTab();tab.Title title;tab.Id id;ribbonCtrl.Tabs.Add(tab);tab.IsActive isActive;return tab;}新建面板panel /// summary/// 添加面板/// /summary/// param nametabRibbon选项卡/param/// param nametitle面板标题/param/// returnsRibbonPanelSource/returnspublic RibbonPanelSource AddPanel(RibbonTab tab, string title){RibbonPanelSource panelSource new RibbonPanelSource();panelSource.Title title;RibbonPanel ribbonPanel new RibbonPanel();ribbonPanel.Source panelSource;tab.Panels.Add(ribbonPanel);return panelSource;}新建按钮Ribbon /// summary/// 创建按钮/// /summary/// param namepanel面板/param/// param namename按钮显示名字/param/// param namecmd需要绑定的命令/param/// param namephotoPath图片路径/param/// returns/returnspublic RibbonButton CreateRibbonButton(RibbonPanelSource panel, string name, string cmd, string photoPath){RibbonButton button new RibbonButton();button.Text name;button.ShowText true;Bitmap bitmap new Bitmap(photoPath);BitmapSource bitmapSource Imaging.CreateBitmapSourceFromHBitmap(bitmap.GetHbitmap(), IntPtr.Zero, System.Windows.Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());button.Image bitmapSource; //按钮图片button.LargeImage bitmapSource; //按钮大图片button.Size RibbonItemSize.Large;button.Orientation System.Windows.Controls.Orientation.Vertical;button.CommandHandler new RibbonCommandHandler();button.CommandParameter cmd;panel.Items.Add(button);return button;}RibbonCommandHandler类 继承于ICommand类作用是控制按钮是否可用 public class RibbonCommandHandler : System.Windows.Input.ICommand{public bool CanExecute(object parameter){return true;}public event EventHandler CanExecuteChanged;public void Execute(object parameter){//is from Ribbon ButtonRibbonButton ribBtn parameter as RibbonButton;if (ribBtn ! null){//execute the command Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.SendStringToExecute((string)ribBtn.CommandParameter, true, false, true);}}}最后在CAD中用Netload添加编译的Dll运行“RibbonCmd”命令就可以看到选项卡了 最后 创建按钮的时候传入的是相对地址复制代码使用的时候可以先换成绝对地址实现效果后再换相对地址。赶紧去实现第一个按钮吧
http://www.hkea.cn/news/14431140/

相关文章:

  • 网站建设需求调查表怎么租服务器做网站
  • 永嘉县住房和城乡规划建设局网站住房及城乡建设部网站
  • 好资源源码网站wordpress 分类seo
  • 企业网站一般包括哪些内容linux服务器下如何新建网站
  • 网站后台管理无法编辑wordpress 超级排版器
  • 昆明网站排名优化html官方下载
  • 网站如何做线上和线下推广上海最新状况
  • 朔州公司做网站网站多少流量够用
  • 怎么把自己做的网站放到百度上公司网站服务器优化
  • 两学一做 答题 网站手机怎样做自己的网站
  • 网页 网站 站点的区别网站如何做聚合页面
  • 快三竞猜网站建设网站开发常用图标
  • 网站备案变更主体电话网络产品营销策略范文
  • 不断加强门户网站建设宜良县建设局网站
  • 中小企业网站制作多少钱app立即打开
  • 商业网站的域名后缀是什么苏州长尾词seo排名优化
  • 石家庄中小企业网站制作福田哪家建设网站好
  • 化妆网站源码郑州今天管控最新消息
  • 大同市网站建设西安高风险区全部降为低风险
  • 用阿里云服务器做刷单网站wordpress mysql_query
  • 长春网站制作外包建筑公司查询
  • 聊城建网站服务黄浦品牌网站建设
  • 一个网站3个相似域名查关键词排名
  • 免费字体下载网站内蒙古网络公司有哪些
  • 济南制作网站的公司吗中国商标免费查询入口
  • 网站建设公司推荐q479185700顶上四川省工程建设信息官方网站
  • 网站开发与软件开发的区别免费静态网页模板下载
  • 网站推广工作淮安市住房和城乡建设局网站首页
  • 企业网站建设搜集资料天眼查企业查询下载
  • 网站建设与网页设计案例教程pdf下载域名信息备案管理系统查询