20.4.4 RibbonX控件回调函数实例(2)
(7)接着使用类似的方法编写getLabel属性设置的回调函数,用来修改按钮的显示文本,具体代码如下:
Sub rxButton_getLabel(ByRef Control As
IRibbonControl, ByRef ReturnValue As Variant)
If str1 = "" Then str1 = "Right"
Select Case str1
Case "Top"
ReturnValue = "顶部"
Case "Left"
ReturnValue = "左侧"
Case "Right"
ReturnValue = "右侧"
Case "Bottom"
ReturnValue = "底部"
End Select
End Sub
(8)编写getSupertip属性设置的回调函数,用来设置按钮的提示文字,具体代码如下:
Sub rxButton_getSupertip(ByRef Control As
IRibbonControl, ByRef ReturnValue As Variant)
If str1 = "" Then str1 = "Right"
Select Case str1
Case "Top"
ReturnValue = "移动到区域顶部"
Case "Left"
ReturnValue = "移动到区域左侧"
Case "Right"
ReturnValue = "移动到区域右侧"
Case "Bottom"
ReturnValue = "移动到区域底部"
End Select
End Sub
(9)当用户单击元素<menu>时,执行onAction属性设置的回调函数,具体代码如下:
Sub rxMenu_onAction(Control As IRibbonControl)
str1 = Mid$(Control.ID, 7)
moRibbon.InvalidateControl "rxButton" '更新按钮控件
DoGoto str1
End Sub
以上代码首先获取单击菜单容器中的控件(为按钮控件)的ID,因ID前面有前缀rxMenu,所以使用Mid函数从第7个字符开始取子串。
然后使用IribbonUI对象的InvalidateControl方法更新按钮控件。这时,按钮控件将执行getImage、getLabel、getSupertip属性设置的回调函数。
最后调用过程DoGoto移动单元格的位置。
(10)过程DoGoto的VBA代码如下,根据参数的值确定执行的具体操作。
Private Sub DoGoto(ByVal sStyle As String)
Select Case sStyle
Case "Top"
ActiveCell.End(xlUp).Select
Case "Left"
ActiveCell.End(xlToLeft).Select
Case "Right"
ActiveCell.End(xlToRight).Select
Case "Bottom"
ActiveCell.End(xlDown).Select
End Select
End Sub
(11)单击<button>控件时,将执行onAction属性设置的回调函数,具体代码如下:
Sub rxButton_onAction(Control As IRibbonControl)
DoGoto str1
End Sub
代码编写完成以后,在工作表中单击选择一个单元格,再单击【跳转】选项卡【单元格移动】组中的按钮,可在当前区域中快速移动单元格,定位到区域的边界上。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。