打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
20.2.4 控件回调函数
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过程。
 
<button id="b1"  imageMso=" HappyFace"  size="large"
label="测试"  onAction="showmsg"/>
在Excel工作簿中,编写一个名为showmsg的过程,执行相应的功能即可。
Sub showmsg(control As IRibbonControl)
MsgBox "您单击了"测试"按钮!"
End Sub
从上面的代码可以看出,在VBE中编写回调函数时,过程定义部分需要指定参数。不同的回调函数的参数数量不同,下面介绍定义回调函数子过程的结构。
1.onLoad属性设置回调函数
onLoad属性只能在XML文件的最外层元素<customUI>中使用,该属性设置系统装载自定义RibbonX时执行的回调函数名称,在程序中只能通过该回调函数获取RibbonX对象的引用。onLoad属性指定的回调函数的过程结构如下:
Sub 过程名(ribbon As IRibbonUI)
2.onAction属性设置回调函数
在XML中用控件的onAction属性指定回调函数,针对不同控件有不同的子过程结构。
控件为<button>时,onAction属性指定的回调函数的过程结构如下:
Sub 过程名(ByRef  Control  As  IRibbonControl)
控件为<checkBox>和<toggleButton>时,onAction属性指定的回调函数的过程结构如下:
Sub 过程名(ByRef  Control  As  IRibbonControl, ByRef  Pressed  As  Boolean)
控件为<dropDown>和<gallery>时,onAction属性指定的回调函数的过程结构如下:
Sub 过程名(ByRef  Control  As  IRibbonControl,
ByRef  SelectedID  As  String,_
ByRef  SelectedIndex  As  Integer)
3.onChange属性设置回调函数
控件为<editBox>和<comboBox>时,onChange属性指定的回调函数的过程结构如下:
Sub 过程名(ByRef  Control  As  IRibbonControl,ByRef  Text  As  String)
4.其他get类属性设置回调函数
通过属性getItemID、getItemImage、getItemLabel、getItemScreentip、getItemSupertip指定的回调函数的过程结构如下:
Sub 过程名(ByRef  Control  As  IRibbonControl,
ByRef  Index  As  Integer, _
ByRefReturnValue As Variant)
除前面列出各属性设置的回调函数外,其他get属性(包括getContent、getDescription、getEnabled、getImage、getItemCount、getItemHeight、getItemWidth、getKeytip、getLabel、getPressed、getSize、getScreentip、getSelectedItemID、getSelectedItemIndex、getShowImage、getShowLabel、getSupertip、getText、getTitle、getVisible等属性)指定的回调函数的过程结构如下:
Sub 过程名(ByRef  Control  As  IRibbonControl,
ByRef  ReturnValue  As  Variant)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
细品RibbonX(19):checkBox控件详解
VBA专题10-14:使用VBA操控Excel界面之在功能区中添加自定义库控件
第七篇 Excel自动化
Asp.net2.0页面执行顺序
全国计算机二级VB复习要点
VB基础教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服