、
8.下拉控件
下拉控件如图20-13所示,该控件与复合框控件类似。不同的是,在该容器中还可以包含
图20-12 分离按钮控件 图20-13 下拉控件
下拉控件的XML标识为。在该容器中可包含- 和
20.2.3 控件属性
每个控件都具有很多的属性,可在XML中使用这些属性修改控件的外观。下面列出控件的常用属性。
1.ID类属性
每个控件都必须有一个唯一的ID,由一个最多是1024个字符的字符串组成,ID属性分为以下3类:
? id:为自定义控件的ID; ? idMso:为内置控件的ID;
·395·
Excel VBA开发技术大全
? idQ:为标记、和的ID。 2.外观属性
外观属性用来控制控件的可见性、标签、悬浮提示等信息,常用的有以下属性。 ? itemHeight:设置gallery控件中库项目的高度,以像素为单位; ? itemWidth:设置gallery控件中库项目的宽度,以像素为单位;
? itemSize:设置menu中项目的尺寸;可设置为normal和large,大项目不但显示描
述也显示标签;
? label:设置控件的标题;
? screentip:设置鼠标悬浮在控件上时显示的小提示; ? supertip:设置鼠标悬浮在控件上时显示的大提示;
? showLabel:设置是否显示控件标签,取值为True和false;
? size:设置控件的尺寸。可设置为normal和large,控件正常尺寸(normal)占用
一行,大尺寸(large)占用三行;
? title:设置菜单的标题文本,用于menu和menuSeparator控件; ? visible:设置控件是否可见,取值为True和false。 3.图像属性
带图像的控件可以使用自定义的图像,也可使用内置控件的图像。主要有以下属性: ? image:使用此属性设置自定义图像的名称;
? imageMso:使用此属性设置内置控件的名称,用来引用内置控件的图像; ? showImage:设置是否显示一个控件的图像,取值为True和false。 4.其他属性
除了上面介绍的控制控件外观、图像的属性外,常用的属性还有以下几种:
? boxStyle:设置在box控件中是水平排列图标(默认)或垂直排列图标,取值为
Horizontal或vertical;
? columns:设置gallery控件库中的列数;
? description:设置控件的长描述,当菜单的itemSize设置为大时显示在菜单中,用
于botton、toggleButton、splitButton、checkBox、menu、dynamicMenu、gallery等控件;
? enabled:设置控件是否有效,如果设为false,则该控件为灰色,不能操作; ? maxLength:设置editBox或comboBox控件文字输入的最大长度; ? keytip:设置访问控件的快捷键; ? rows:设置gallery控件库中的行数;
? showItemImage:设置在comboBox、dropDown或gallery控件中,是否在下拉列
表中显示图像;
? tag:为控件设置附加文本。
·396 ·
第20章 使用RibbonX
20.2.4 控件回调函数
在自定义RibbonX时,可在XML中通过控件的不同属性设置控件。但是,在更多的情况下,需要程序在运行时修改控件的属性。这时,可使用控件的回调函数。
在RibbonX中提供了回调函数功能,可在运行时动态修改控件的属性。每个控件可有多个回调函数,可分别动态修改控件的相应属性。设置回调函数属性以get字符开头,紧跟着相应的属性名。例如,要动态修改控件的label属性,则用属性getLabel设置回调函数。使用属性getItemImage设置的回调函数可在程序运行时修改控件的图像。
还有3个不是按这种方式命名的属性,也可用来设置回调函数。 ? onLoad:用在XML文件的最外层元素中,当Office开始装载RibbonX
时将调用该属性指定的回调函数。
? onAction:当单击控件时,调用该属性指定的VBA过程,可应用到
、、和控件。
? onChange:当控件中的文本改变时,调用该属性指定的VBA过程,可应用到
和控件。
例如,以下XML代码定义一个