与各科室协作沟通不够:细品RibbonX(31):buttonGroup元素详解

来源:百度文库 编辑:中财网 时间:2024/07/04 03:59:38

buttonGroup元素与box元素相似,但它也有一些独特的特征。buttonGroup控件和box控件之间在外观上最大的不同是box控件不会在组周围放置可视的边框,而buttonGroup元素实际上显示边框。buttonGroup元素不会垂直排列,并且与box不同,buttonGroup不会接受box或buttonGroup作为其子元素。

box元素和buttonGroup元素之间主要的不同归纳于下表1。

表1:box元素和buttonGroup元素之间的不同

功能

Box

ButtonGroup

水平排列控件

垂直排列控件

 

接受嵌套的box控件

 

接受嵌套的buttonGroup控件

 

在控件周围放置可见的轮廓线

 

buttonGroup是唯一允许在控件集合周边放置可见的边框的控件。

1buttonGroup元素必需的属性

buttonGroup元素需要下表2所列的id属性之一。

表2:buttonGroup元素必需的属性

属性

何时使用

id

当创建自已的buttonGroup时

idQ

当在命名空间之间创建共享的buttonGroup时

2、带有回调签名的可选的静态属性和动态属性

为了相对于一个已存在的控件决定buttonGroup的位置,那么必须使用下表3列出的任一insert属性。

表3:buttonGroup元素可选的insert属性

INSERT属性

允许值

默认值

何时使用

insertAfterMso

有效的Mso组

在组末尾插入

在Microsoft控件之后插入

insertBeforeMso

有效的Mso组

在组末尾插入

在Microsoft控件之前插入

insertAfterQ

有效的组idQ

在组末尾插入

在共享的命名空间控件之后插入

insertBeforeQ

有效的组idQ

在组末尾插入

在共享的命名空间控件之前插入

也可以为buttonGroup元素设置下表4所列的可选的属性和回调。

表4:buttonGroup元素可选的属性和回调

静态属性

动态属性

允许值

默认值

动态属性的VBA回调签名

visible

getVisible

true,false,1,0

true

Sub GetVisible(control

As IRibbonControl,

ByRef returnedVal)

当buttonGroup具有getVisible回调可用时,有一个bug。如果其值设置为false,该bug完全妨碍该回调,然而当其值设置为true时,该回调会正确地工作。

3buttonGroup元素允许的子对象

buttonGroup元素能够包含下列任一或所有的控件:

n         button

n         control

n         dynamicMenu

n         gallery

n         menu

n         splitButton

n         toggleButton

4buttonGroup元素的父对象

在下列任何控件内都能放置buttonGroup元素:

n         box

n         group

5、创建自定义的buttonGroup元素

(1)创建一个新的.xlsx文件,并将其保存为Excel buttonGroup Example.xlsx。

(2)关闭该文件并在CustomUI Editor中打开。

(3)输入下列XML代码:

    xmlns=“http://schemas.microsoft.com/office/2006/01/customui“>

   

      

          

              label=“Demo“

              insertBeforeMso=“TabHome“>

             

                  label=“Demo Group“>

                 

                     boxStyle=“vertical“>                                                                     

                        

                        

                        

                        

                            showLabel=“false“/>