2 回答
TA贡献1796条经验 获得超7个赞
您必须告诉 Outlook 刷新功能区。
您需要指定一个回调来检索按钮的标题,而不是将其硬编码到功能区的 XML 中。
请注意,由于您可以打开多个检查器,因此您必须提供在其自己的检查器中打开的每个项目的特定数据。
TA贡献1842条经验 获得超12个赞
Ribbon UI 是静态的,因为它在启动时(或在窗口显示之前)加载一次。您能做的最好的事情就是定义回调并在您需要的地方调用它们。例如,您可以为功能区控件定义“getVisible”回调,而不是在运行时添加新元素。
IRibbonUI.Invalidate方法使 Ribbon 用户界面的所有控件的缓存值无效。
您可以使用 COM 加载项中的回调过程来自定义功能区 UI。对于加载项实现的每个回调,都会缓存响应。
例如,如果外接程序编写器为按钮实现 getImage 回调过程,则调用该函数一次,加载图像,然后如果需要更新图像,则使用缓存的图像而不是调用该过程。此过程将保持不变,直到加载项使用 Invalidate 方法发出信号表明缓存的值无效,此时将再次调用回调过程并缓存返回响应。然后,加载项可以通过调用 Refresh 方法强制立即更新 UI。
<customUI … OnLoad="MyAddinInitialize" …>
Dim MyRibbon As IRibbonUI
Sub MyAddInInitialize(Ribbon As IRibbonUI)
Set MyRibbon = Ribbon
End Sub
Sub myFunction()
MyRibbon.Invalidate() ' Invalidates the caches of all of this add-in's controls
End Sub
- 2 回答
- 0 关注
- 110 浏览
添加回答
举报