细品RibbonX(31):buttonGroup元素详解

细品RibbonX(31):buttonGroup元素详解

资料整理来自于论坛
完整版下载地址:http://download.csdn.net/download/nodeman/10264659

 

 Loading ...

 

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

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

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

功能

Box

ButtonGroup

水平排列控件

垂直排列控件

 

接受嵌套的box控件

 

接受嵌套的buttonGroup控件

 

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

 

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

1、buttonGroup元素必需的属性

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时,该回调会正确地工作。

3、buttonGroup元素允许的子对象

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

n         button

n         control

n         dynamicMenu

n         gallery

n         menu

n         splitButton

n         toggleButton

4、buttonGroup元素的父对象

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

n         box

n         group

5、创建自定义的buttonGroup元素

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

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

(3)输入下列XML代码:

<customUI

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

    <ribbon>

       <tabs>

           <tab id = rxtab_Demo

              label=Demo

              insertBeforeMso=TabHome>

              <group id=rxgrp_Demo

                  label=Demo Group>

                  <box id=rxboxCustom

                     boxStyle=vertical>                                                                      <buttonGroup id=rxbgrpMsoControls>

                         <toggleButton idMso=Bold/>

                         <toggleButton idMso=Italic/>

                         <toggleButton idMso=Underline/>

                         <toggleButton idMso=UnderlineDouble

                            showLabel=false/>

                     </buttonGroup>

                  </box>

                  <button id=rxbtnHappy1

                     imageMso=HappyFace

                     label=Button 1/>

                  <button id=rxbtnHappy2

                     imageMso=HappyFace

                     label=Button 2/>

                  <button id=rxbtnHappy3

                     imageMso=HappyFace

                     label=Button 3/>

              </group>

           </tab>

       </tabs>

    </ribbon>

</customUI>

注意,buttonGroup控件被封装在垂直的box控件里。正如在介绍box控件中所提到的,使用box控件能够迫使所有的按钮控件到下一列,从而使您的控件下保留空白。

(4)保存后关闭CustomUI Editor。

(5)在Excel中重新打开该文件,下图即为上述XML代码创建的组。

注意到这些在水平按钮组中的字体控件,成一条线地显示在垂直的box控件顶部。垂直控件为其内容保留了完整的区间,因此三个笑脸按钮显示在其右侧的一列。

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值