ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: jiulongpo

[分享] 细品RibbonX(1-59) (转)

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2012-7-27 23:12 | 显示全部楼层
本帖已被收录到知识树中,索引项:UI界面定制
是我见过的最完整地Ribbon的资料!
上面的可视化设计器试了一下,虽然有些功能还不知道怎么用,但感觉也不错。
一个字:好!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-8-6 22:25 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 jiulongpo 于 2012-8-7 22:28 编辑

转自: http://www.excelperfect.com/index.php/2009/11/03/ribbonxstudy31/
细品RibbonX(31):buttonGroup元素详解

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代码:
  1. <customUI

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

  3.     <ribbon>

  4.        <tabs>

  5.            <tab id = “rxtab_Demo“

  6.               label=“Demo“

  7.               insertBeforeMso=“TabHome“>

  8.               <group id=“rxgrp_Demo“

  9.                   label=“Demo Group“>

  10.                   <box id=“rxboxCustom“

  11.                      boxStyle=“vertical“>                                                                      <buttonGroup id=“rxbgrpMsoControls“>

  12.                          <toggleButton idMso=“Bold“/>

  13.                          <toggleButton idMso=“Italic“/>

  14.                          <toggleButton idMso=“Underline“/>

  15.                          <toggleButton idMso=“UnderlineDouble“

  16.                             showLabel=“false“/>

  17.                      </buttonGroup>

  18.                   </box>

  19.                   <button id=“rxbtnHappy1“

  20.                      imageMso=“HappyFace“

  21.                      label=“Button 1“/>

  22.                   <button id=“rxbtnHappy2“

  23.                      imageMso=“HappyFace“

  24.                      label=“Button 2“/>

  25.                   <button id=“rxbtnHappy3“

  26.                      imageMso=“HappyFace“

  27.                      label=“Button 3“/>

  28.               </group>

  29.            </tab>

  30.        </tabs>

  31.     </ribbon>

  32. </customUI>
复制代码

注意,buttonGroup控件被封装在垂直的box控件里。正如在介绍box控件中所提到的,使用box控件能够迫使所有的按钮控件到下一列,从而使您的控件下保留空白。
(4)保存后关闭CustomUI Editor。
(5)在Excel中重新打开该文件,下图即为上述XML代码创建的组。
注意到这些在水平按钮组中的字体控件,成一条线地显示在垂直的box控件顶部。垂直控件为其内容保留了完整的区间,因此三个笑脸按钮显示在其右侧的一列。

TA的精华主题

TA的得分主题

发表于 2012-10-21 14:59 | 显示全部楼层
好贴必顶,顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶到

TA的精华主题

TA的得分主题

发表于 2012-10-24 18:35 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-10-24 19:51 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-10-28 23:55 | 显示全部楼层
太强大了!!收藏学习之!!

TA的精华主题

TA的得分主题

发表于 2013-1-31 13:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-8-7 15:49 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-9-12 20:24 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2013-9-24 22:42 | 显示全部楼层
强大的open xml,强大的论坛,强大的作者,强大的楼主
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 14:52 , Processed in 0.036042 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表