C#之CAD二次开发: Ribbon界面初探

article/2025/9/20 10:41:25

# 0. 引言

从CAD2009版本以后就开始使用上了Ribbon界面,更早的版本使用的界面相对较为简单,对比一下就知道啥是Ribbon界面了

这是CAD2006界面,经典的菜单工具栏,略low

这是CAD2018的Ribbon界面

Ofiice从07版本开始采用Ribbon界面,AutoCAD跟随其后在CAD2009开始就使用Ribbon界面

来看看Ofiice2016的界面

那么问题来了,这个Ribbon界面有什么好的呢?光看上面好像就是界面做得更细化了,更有逼格了

其实远远不止于此

Ribbon告别了Windows程序常见的菜单及工具类,转而将所有功能分裂成多个不同的选项卡,显示在上半部分的功能区中,选项卡继续细分以竖线分隔成多个板块。

这可是软件微软交互设计团队经过N次用户调研而制定的方案,设计初衷当然是为了提升用户使用效率。

Ribbon界面的灵魂在整个界面左上角,里面的东东可以让你快速完成一些常规操作

就是这个东东

讲了这么多,一句话就是这个界面很友(zhuang)好(bi)! 当然也是以后界面设计的一个趋势。

那么如何通过代码在CAD里面制作属于自己的界面,以供秀一秀下一步骚操作

还是老方法,先模仿里面的界面制作

# 1. Ribbon界面开发配置

这里我们新建一个项目,跟之前不一样的是这里需要选择WPF应用,这个WPF是什么东东自行查阅资料

新建项目后删除这个三个东东

老样子,添加这三个类库

这里提一嘴,之前一直没说这几个类库作用

AcDbMgd.dll.             当使用图形文件中的对象时使用这个DLL文件。 
AcMgd.dll.                 当使用AutoCAD应用程序时使用这个DLL文件。 
AcCui.dll                    当使用自定义文件时使用这个DLL文件
AcCoreMgd.dll.         当处理编辑器、发布与打印、定义 AutoLISP 命令和函数时引用

因为要使用Ribbon界面,还需要引入下面这个家伙

注意事项提一嘴,记得把复制本地都设为false

然后右键项目,将输出类型设置为类库

调试程序设置为CAD,这样方便调试

这样就设置完成,可以开始你的骚操作了

# 2. 添加Ribbon选项卡和面板

代码封装如下

选项卡

面板

完整代码

using Autodesk.Windows;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _09_Ribbon界面
{public static partial class RibbonTools{/// <summary>/// 添加Ribbon选项卡/// </summary>/// <param name="ribbonCtrl">Ribbon控制器</param>/// <param name="title">选项卡标题</param>/// <param name="ID">选项卡ID</param>/// <param name="isActive">是否置为当前</param>/// <returns>RibbonTab</returns>public static RibbonTab AddTab(this 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 name="tab">Ribbon选项卡</param>/// <param name="title">面板标题</param>/// <returns>RibbonPanelSource</returns>public static RibbonPanelSource AddPanel(this RibbonTab tab, string title){RibbonPanelSource panelSource = new RibbonPanelSource();panelSource.Title = title;RibbonPanel ribbonPanel = new RibbonPanel();ribbonPanel.Source = panelSource;tab.Panels.Add(ribbonPanel);return panelSource;}}
}

测试代码:

using Autodesk.AutoCAD.Runtime;
using Autodesk.Windows;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace _09_Ribbon界面
{public class ProgramClass{[CommandMethod("RibbonDemo")]public void RibbonDemo(){RibbonControl ribbonCtrl = ComponentManager.Ribbon;RibbonTab tab = ribbonCtrl.AddTab("测试选项卡", "Acad.RibbonId1", true);tab.AddPanel("绘图");tab.AddPanel("修改");tab.AddPanel("注释");tab.AddPanel("图层");}}
}

效果


http://chatgpt.dhexx.cn/article/0r1kAD7E.shtml

相关文章

基于Ribbon界面的MFC应用程序

1.打开vs2013&#xff0c;选择菜单项文件–新建–项目 2.在弹出的新建项目对话框中选择模板–Visual C-MFC&#xff0c;然后在中间选择MFC应用程序&#xff0c;最下方名称随便起&#xff0c;这里我设为RibbonExample&#xff0c;位置放在自己想要放的位置就好 3.点击确定&a…

【MFC】Ribbon界面开发(三)

01.目录 目录 01.目录02.本文内容03.完善Ribbon实例3.1 为Ribbon bar 添加更多的Ribbon控件3.2 为Ribbon控件添加消息处理函数 04.扩展内容&#xff08;快速访问工具栏&#xff09;05.总结 02.本文内容 上一节中讲了为Ribbon Bar添加控件的方法。本节将继续完善前面的实例&…

MFC入门之 Ribbon界面设计

Ribbon是类似于office2007样 式的界面&#xff0c;它替代了传统的MFC程序里的菜单和工具栏MFC默认生成的Ribbon功能少&#xff0c;需要我们自己添加一些控件和图片等元素使界面好看。看下面的一个界面&#xff0c;是示例里的 看到它与默认Ribbon样式的区别&#xff1a; 工具自己…

DevExpress 设计Ribbon界面

Ribbon上包含以下一些元素&#xff0c;如图所示&#xff1a; 元素对应API&#xff1a; Element Ribbon API Quick Access ToolbarRibbonControl.Toolbar RibbonQuickAccessToolbar.ItemLinksApplication ButtonRibbonControl.ShowApplicationButton RibbonControl.Application…

Ribbon界面1

收费工具&#xff0c;一百大洋。学生党勿扰。 1 概述 应客户要求&#xff0c;写了一个Ribbon风格的界面。 2 截图

Ribbon界面2

1 概述 Qt实现的Ribbon界面。 2 截图 office2003风格 office2003风格 office2005风格 office2005风格 office2013风格

Ribbon界面开发(C++)

一.简介 Ribbon:固定式工具栏界面,能够使用户更容易地使用 软件的各项常用功能&#xff0c;例如Word 2007中的保存&#xff0c;设置格式&#xff0c;插入图片等常用功能&#xff0c;都可以从Ribbon界面快速地访问到&#xff0c;从而提高用户的生产效率 二.项目创建 1&#x…

Ribbon界面介绍

http://hi.baidu.com/hoping/item/b257e10e99ed7312cd34ea1d Ribbons Ribbon是现代化的方式帮助用户高效和直接的查找、理解和使用工具命令——通过最少的点击&#xff0c;减少从“尝试-错误”&#xff08;trainl-and-error&#xff09;方式中恢复操作&#xff0c;寻找新的操作…

C#编程--ribbon界面介绍

1.梗概 最近在做一个编辑器&#xff0c;刚开始做两天&#xff0c;C#新手。觉得ribbon界面非常好看&#xff0c;不过网上资料非常之少。今天把这两天所学的做一下总结&#xff1a;一是希望能给后来者缩短入门时间。二是对这几天所做的内容进行汇总。&#xff08;内容可能会有繁…

zz:保护眼睛的颜色和各种背景颜色设置方法

zz&#xff1a; http://tiaozhanshu.com/others/color-for-eye-protection/ 眼睛最近又疼了&#xff0c;无论远近都看不清楚。以前出现这种情况去医院查&#xff0c;医生还说我已经过了得近视的年纪&#xff0c;就算受到一般的刺激也不容易发生病变了。但是长期对着电脑最怕看见…

护眼色(RGB值)

为什么80%的码农都做不了架构师&#xff1f;>>> 护眼色&#xff1a;类似于绿豆沙的颜色&#xff1b; 色调&#xff1a;85&#xff1b;饱和度&#xff1a;123&#xff1b;亮度&#xff1a;205&#xff0c; R: 199; G: 237; B:204; 转载于:htt…

win10窗口设置眼睛保护色

经常电脑前坐着&#xff0c;习惯了豆沙色窗口&#xff08;据说保护眼睛&#xff09;&#xff1b; 目标 记事本&#xff0c;ide&#xff0c;office等窗口颜色豆沙色&#xff1b;如下图 步骤 打开注册表&#xff1a;winr 运行“regedit”&#xff1b;依次打开[HKEY_CURRENT_USE…

win10 如何设置眼睛保护色(绿色)

按WindowsR打开运行窗口 3 输入Regedit进入注册表编辑器。 4 进入计算机\HKEY_CURRENT_USER\Control Panel\Colors找到window 5 双击打开窗口。 6 将数值改成 204 232 207 点击确定。 7 重启电脑&#xff0c;打开系统窗口即可看到背景成绿色了。

设置电脑眼睛保护色 多种颜色可选!

绿豆沙色能有效的减轻长时间用电脑的用眼疲劳&#xff01; 色调&#xff1a;85&#xff0c;饱和度&#xff1a;123&#xff0c;亮度&#xff1a;205&#xff1b; RGB颜色红&#xff1a;199&#xff0c;绿&#xff1a;237&#xff0c;蓝&#xff1a;204&#xff1b; 十六进制颜色…

电脑眼睛保护色设置

眼科医生建议电脑屏幕不要用白色&#xff0c;因为白色对眼睛的刺激是最大的&#xff0c;最损伤视力&#xff01; 眼科医生推荐的颜色是柔和的淡绿色&#xff0c;也有人叫做绿豆沙色。 按HSU 设置为&#xff1a; 色度(HUE)&#xff1a; 85 饱和度(SAT)&#xff1a; 123 亮度…

保护眼睛的颜色和各种背景颜色设置方法(转)

保护眼睛的颜色 现代人几乎每天都离不开电脑。在工作、娱乐、交友、购物&#xff0c;甚至在买卖股票的过程中&#xff0c;电脑都是我们的好帮手。但是&#xff0c;电脑的辐射多对眼睛的伤害很大&#xff0c;而许多应用软件的背景&#xff0c;尤其是网页的底色通常被设定为白色…

配置护眼颜色

配置护眼颜色如下&#xff1a; 色调&#xff1a;85&#xff1b;饱和度&#xff1a;123&#xff1b;亮度&#xff1a;205&#xff0c; R: 199 ; G&#xff1a;237&#xff1b;B:204。如下图所示&#xff1a; R:204 G&#xff1a;232 B&#xff1a;207。3、电脑设置护眼模式方式…

安卓手机解锁:Device is locked. Please unlock the device first

Device is locked. Please unlock the device first 在安卓P的手机上如果adb remount 不上手机并且报如上的错的话&#xff0c;就需要对手机进行解锁。 1.首先需要打开开发者模式中的OEM unlocking开关 2.adb reboot bootloader 3.fastboot flashing unlock 4.fastboot getva…

IP is locked 的解决办法 Vivado

IP is locked &#xff08;IP核被锁定&#xff09; 发生IP核锁定&#xff0c;一般是Vivado版本不同导致的&#xff0c;当用新版本打开老版本的project时&#xff0c;会出现下面IP核被锁的情况&#xff0c;下面介绍两种方法解决IP核被锁的方法&#xff1a; IP is locked 的解…

svn locked 怎么解决

导致原因&#xff1a;更新代码时候&#xff0c;强制终止 解决方法&#xff1a; 回到SVN文件夹的根目录。如图操作&#xff1a; 点击ok就好了。