您的位置:首页 > 其它

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

2018-03-02 11:25 155 查看
细品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控件顶部。垂直控件为其内容保留了完整的区间,因此三个笑脸按钮显示在其右侧的一列。
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: