【问题标题】:How to show/hide a outlook ribbon (VSTO) base on open mail?如何根据打开的邮件显示/隐藏 Outlook 功能区 (VSTO)?
【发布时间】:2021-07-07 09:09:02
【问题描述】:

目前,我创建了一个自定义 VSTO Outlook 插件并使其适用于我们生成的电子邮件。但是,即使用户打开其他邮件,此自定义功能区也会始终显示。所以我的问题是:当且仅当打开的邮件满足某些条件时,是否可以显示/隐藏功能区选项卡?比如主题中包含指定的单词。

提前致谢。

【问题讨论】:

    标签: c# vsto outlook-addin


    【解决方案1】:

    是的,这是可能的。定义功能区回调,特别是您会对getVisible 感兴趣,并在需要隐藏或显示功能区控件时使用IRibbonUI.InvalidateIRibbonUI.InvalidateControlgetVisible 回调具有以下签名:

        
    C#: bool GetVisible(IRibbonControl control)
    
    VBA: Sub GetVisible(control As IRibbonControl, ByRef visible)
    
    C++: HRESULT GetVisible([in] IRibbonControl *pControl, [out, retval] VARIANT_BOOL *pvarfVisible)
    
    Visual Basic: Function GetVisible(control As IRibbonControl) As Boolean
    

    例如,如果加载项编写器为按钮实现getImage 回调过程,则调用该函数一次,加载图像,然后如果需要更新图像,则使用缓存的图像而不是回忆程序。这个过程对控件保持不变,直到加载项通过使用InvalidateControl 方法发出缓存值无效的信号,此时,再次调用回调过程并缓存返回响应。

    在以下系列文章中阅读有关 Fluent UI(又名 Ribbon UI)的更多信息:

    【讨论】:

      猜你喜欢
      • 2018-08-29
      • 2015-07-28
      • 2018-05-07
      • 2013-03-08
      • 1970-01-01
      • 2015-12-17
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多