通过CustomUI,可以对office界面进行各种自定义。上一篇文章中初步介绍了使用CustomUI可以自定义的五类界面。Office CustomUI有很多成员节点和属性,本文将对几种典型的节点和属性进行总结。
1
CustomUI自定义功能区结构
CustomUI自定义常用功能区的XML层次结构为:
- <customUI>
- <ribbon>
- <tabs>
- <tab>
- <group>
- <control/>
- </group>
- </tab>
- </tabs>
- </ribbon>
- </customUI>
上面这段代码很清晰地展示出层级结构。描述Office界面的XML最顶层节点是<customUI>,以下级别的节点均与自定义Office界面有关。<ribbon>表示功能区,<tabs>表示选项卡集合,<tab>表示单个选项卡,<group>表示选项卡中的一个功能组,<control>表示功能组中的具体功能控件。
常用的功能区选项卡可理解为三级层次结构:<tab>/<group>/<control>。下面将这三个层级逐一进行解读。
2
选项卡(tab)元素
<tab>常用属性有id(或idMso)、label、visible、insertBeforeMso(或insertAfterMso)。
id(或idMso)属性。CustomUI中的任何元素必须有id或idMso作为唯一标识,如果是软件内置缘啊输,必须用idMso;如果是用户自定义元素,必须用id,id的属性值可以是不重复的字符串。不仅仅是内置选项卡有idMso属性,内置组、内置控件都有相应的idMso属性。
label属性。元素的显示名称。可以更改内置元素的显示名称,也可以为新元素指定显示名称。
visible属性。元素是否可见。visible属性几乎可用于任何元素。
insertBeforeMso或insertAfterMso属性。用户自定义元素置于内置元素之前或之后。
3
组(group)元素
group的父级对象是tab,其下包含各种类型的control,也就是具体的功能控件。
group的常用属性和tab元素基本都一样,此处不重述。
4
控件(control)元素
group下面可以容纳16种控件(control):框(box)、按钮(button)、按钮组(buttonGroup)、复选框(checkBox)、组合框(comboBox)、通用控件(control)、弹出对话框(dialogBoxLauncher)、下拉控件(dropDown)、动态菜单(dynamicMenu)、编辑框(editBox)、库(gallery)、标签控件(labelControl)、菜单(menu)、分割线(separator)、拆分按钮(splitButton)、切换按钮(toggleButton)。
各个控件有相同的属性,也有不同的属性。下面以button为例,介绍控件的属性及用法。
imageMso属性。该属性用于指定按钮图标,微软提供了很多内置图标,每一个图标都有特定名称,例如“Call”就是一个电话图标。通过imageMso="Call"就为按钮指定一个电话图标。
size属性。office功能区中,在纵向一般最多排列3个控件,控件都是常规大小,若将size属性设定为large,则该控件单独占据一列。
supertip和screentip属性。鼠标悬浮时出现的提示文字。
onAction属性。这是按钮控件最重要的一个属性,该属性直接指向单击按钮时会调用的宏过程名称。