初识RibbonX

RibbonX是什么

在早期版本的Office中,CommandBars对象模型能使开发者在他们的自定义Office应用程序中创建丰富的解决方案。Microsoft在充分了解传统用户界面定制的优缺点后,在Office 2007及之后版本用户界面扩展中引入了一种创新的模型,可以增强用户体验。新的用户界面定制使用可扩展的标识语言(XML)和几种传统的编程语言之一来操纵组成用户界面的组件。
功能区(Ribbon)是Office 2007及之后版本应用程序界面的一部分,而RibbonX是指为自定义的应用程序来创建功能区元素(组件)的编程接口。通过使用RibbonX编程接口,定义如何在应用程序中显示功能区。
RibbonX使用的XML是简单易懂的,并不需要深入学习和理解XML。RibbonX也依赖至少一个命名空间,而URL定义了指定的RibbonX条目如何工作的位置。通常,您并不需要知道关于命名空间的太多信息,只需要将其包含在RibbonX代码的适当位置。
在设计自定义功能区时,使用XML定义功能区并在文件格式中存储为自定义部分。当打开文档时,自动读取XML部分并将定制应用到功能区中。无论何时关闭文档,总会自动删除其功能区定制,因此除了自动加载的加载项外,对特定文档的功能区定制不会影响其他文档。
功能区(Ribbon)的每个元素在RibbonX编程接口中都有相应的元素,用户只能看到由代码修改后的结果。与以前版本的Office不同,RibbonX不依赖于一组层次对象来控制界面。相反,界面取决于描述不同元素的XML文件,该文件遵守下面的XML层次:

  • 选项卡(Tabs)
  • 组(Groups)
  • 控件(Controls)

RibbonX的层次是相当绝对的。 一个选项卡不能包含另外的选项卡,仅能包含组。同样,控件能够放置在组中,而不能直接放置在选项卡中。

RibbonX代码

RibbonX代码是XML代码,遵守Microsoft提供的XML架构。根据维基百科的解释,“XML是描述数据的一种方式,一个XML文件也可以包含数据”。要定制Office Ribbon UI,需要使用XML描述每件事情,所有关于尺寸、位置、可见性、标签、ID等等,习惯于在代码中指定这些操作的开发者应在RibbonX XML格式中指定。

认识RibbonX的关键元素

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
   <ribbon>
   <tabs>
     <tab id="myTab" label="我的选项卡">
        
     <group id="myGroup" label="我的组">
         <button id="myButton"   label="我的按钮"  imageMso="HappyFace"  size="large"   onAction="myButton"/>
     </group>
        
     </tab>
   </tabs>
   </ribbon>
</customUI>

在这里插入图片描述

选项卡(Tabs)

这是一个具有所有通用功能的标准的XML文件,包含处理指令、根元素(customUI)、子元素(ribbon)如以及属性。并且,必须为自定义界面定义命名空间,这里,命名空间存在于 customUI xmlns=“http://schemas.microsoft.com/office/2009/07/customui”,这是为每个所创建的自定义界面元素使用的位置。
创建一个新选项卡所需要做的只是编写带有id属性和label属性的元素,使用id属性从应用程序访问该选项卡,而label属性则是用户看到的选项卡的文本。

组(Groups)

组将相似的控件集中在一起,使用户不需要花太多的时间查找正确的控件。使用组减少了用户的困惑,并更容易地向用户展示如何执行一项特定的任务。例如,在Excel中想要设置字体时,有一个"字体"组,包含设置字体类型、大小、加粗、背景、边框等,而不需要逐个查找每个命令。
在上图1中,有一个"我的组",仅包含有一个控件。在XML中通过使用元素创建组,必须包括id属性,以便在代码中标识该组,以及label属性,用来提供用户在界面中所看到的识别该组的文本。

控件(Controls)

一个控件执行一项特定的任务。例如,可以使用按钮控件帮助用户执行某任务,可以使用复选框让用户作出选择,也可以使用下拉列表框让用户在多个选项中选择而不是简单地选择"是/否"。
控件有多个大小。大尺寸的控件吸引用户注意,执行主要的任务,而小尺寸的控件则帮助用户执行不常用的任务。
控件总是需要比其它功能区元素更多的代码,因为它们不是静态的,它们执行某项任务。在上文所示的XML清单中,简单的button元素需要多个参数,除了如前所述的元素一样,必须提供id属性和label属性。当按钮包括图像时,图像也必须出现在引用它的文件里,而size属性定义了按钮的大小。绝大多数按钮也包括onAction属性,以执行与按钮相关的代码。当用户单击按钮时,触发onAction事件(myButton)。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值