20.2.4 控件回调函数 在自定义RibbonX时,可在XML中通过控件的不同属性设置控件。但是,在更多的情况下,需要程序在运行时修改控件的属性。这时,可使用控件的回调函数。 在RibbonX中提供了回调函数功能,可在运行时动态修改控件的属性。每个控件可有多个回调函数,可分别动态修改控件的相应属性。设置回调函数属性以get字符开头,紧跟着相应的属性名。例如,要动态修改控件的label属性,则用属性getLabel设置回调函数。使用属性getItemImage设置的回调函数可在程序运行时修改控件的图像。 还有3个不是按这种方式命名的属性,也可用来设置回调函数。 onLoad:用在XML文件的最外层元素<customUI>中,当Office开始装载RibbonX时将调用该属性指定的回调函数。 onAction:当单击控件时,调用该属性指定的VBA过程,可应用到<button>、<toggleButton>、<checkBox>、<dropdown>和<gallery>控件。 onChange:当控件中的文本改变时,调用该属性指定的VBA过程,可应用到<editBox>和<comboBox>控件。 例如,以下XML代码定义一个<button>控件,并指定单击按钮时调用名为showmsg的VBA过程。
从上面的代码可以看出,在VBE中编写回调函数时,过程定义部分需要指定参数。不同的回调函数的参数数量不同,下面介绍定义回调函数子过程的结构。 1.onLoad属性设置回调函数 onLoad属性只能在XML文件的最外层元素<customUI>中使用,该属性设置系统装载自定义RibbonX时执行的回调函数名称,在程序中只能通过该回调函数获取RibbonX对象的引用。onLoad属性指定的回调函数的过程结构如下:
2.onAction属性设置回调函数 在XML中用控件的onAction属性指定回调函数,针对不同控件有不同的子过程结构。 控件为<button>时,onAction属性指定的回调函数的过程结构如下:
3.onChange属性设置回调函数 控件为<editBox>和<comboBox>时,onChange属性指定的回调函数的过程结构如下:
4.其他get类属性设置回调函数 通过属性getItemID、getItemImage、getItemLabel、getItemScreentip、getItemSupertip指定的回调函数的过程结构如下:
|
|
来自: 土尔 > 《word2007》