细品RibbonX(34):menuSeparator元素详解
资料整理来自于论坛
完整版下载地址:http://download.csdn.net/download/nodeman/10264659
Loading ...
menuSeparator元素有些像separator元素和labelControl元素的混合,可以为特定类型的菜单控件创建一条水平线,并且能够提供文本。这使得能够在菜单项之间添加标题。
1、menuSeparator元素必需的属性
menuSeparator元素需要下表1所列的id属性之一。
表1:menuSeparator元素必需的属性
属性 | 何时使用 |
id | 当创建自已的菜单分隔条时 |
idQ | 当在命名空间之间创建共享的菜单分隔条时 |
2、带有回调签名的可选的静态属性和动态属性
menuSeparator控件相对于已存在的控件的放置需要使用下表2列出的insert属性之一。
表2:menuSeparator元素可选的insert属性
INSERT属性 | 允许值 | 默认值 | 何时使用 |
insertAfterMso | 有效的Mso组 | 在组末尾插入 | 在Microsoft控件之后插入 |
insertBeforeMso | 有效的Mso组 | 在组末尾插入 | 在Microsoft控件之前插入 |
insertAfterQ | 有效的组idQ | 在组末尾插入 | 在共享的命名空间控件之后插入 |
insertBeforeQ | 有效的组idQ | 在组末尾插入 | 在共享的命名空间控件之前插入 |
menuSeparator元素接受下表3所列的title元素或等价的回调。
表3:menuSeparator元素可选的属性和回调
静态属性 | 动态属性 | 允许值 | 默认值 | 动态属性的VBA回调签名 |
title | getTitle | 1至1024个字符 | line | Sub GetTitle(control As IRibbonControl, ByRef returnedVal) |
3、menuSeparator元素允许的子对象
menuSeparator元素不支持任何类型的子控件。
4、menuSeparator元素的父对象
在下列任何控件内都能放置menuSeparator控件:
n menu
n officeMenu
n dynamicMenu
5、创建自定义的menuSeparator元素
(1)创建一个新的.xlsx文件,并将其保存为Excel menuSeparator Example.xlsx。
(2)关闭该文件并在CustomUI Editor中打开。
(3)输入下列XML代码:
<customUI xmlns=“http://schemas.microsoft.com/office/2006/01/customui“>
<ribbon startFromScratch=“false“>
<tabs>
<tab id=“tabDemo“
label=“Demo“
insertBeforeMso=“TabHome“>
<group id=“grpSaveFiles“
label=“Save File“>
<menu id=“mnuNewFile“
label=“Save As File Type“
size=“large“
imageMso=“FileCompatibilityChecker“>
<menuSeparator id=“rxmSep01“
title=“Save in 2007 format“/>
<button idMso=“FileSaveAsExcelXlsx“/>
<button idMso=“FileSaveAsExcelXlsxMacro“/>
<menuSeparator id=“rxmSep02“/>
<button idMso=“FileSaveAsExcelXlsb“/>
<menuSeparator id=“rxmSep03“
title=“Save in 97-2003 format“/>
<button idMso=“FileSaveAsExcel97_2003“/>
<menuSeparator id=“rxmSep04“
title=“Save in other format“/>
<button idMso=“FileSaveAsOtherFormats“/>
</menu>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
注意,rxmSep02没有指定title属性,这将创建一条细线来分隔菜单项,而不是带有线条的标题栏。
(4)保存后关闭CustomUI Editor。