【问题标题】:disable outlook VSTO plugin icon禁用 Outlook VSTO 插件图标
【发布时间】:2019-11-08 02:14:23
【问题描述】:

如果用户从保存的位置打开电子邮件,我需要禁用 Outlook vsto 插件图标。它的工作是从 Outlook 中选择突出显示的电子邮件并保存到外部 crm。有一个新的要求,如果电子邮件保存在磁盘上并再次打开它仍然显示 Outlook 插件 incon,如果从磁盘打开电子邮件,我必须禁用 incon。 任何想法如何实现这一点。我用户从 Outlook 中选择任何电子邮件应该没问题,但如果电子邮件保存在磁盘上,则应禁用 Outlook 插件图标。 非常感谢

【问题讨论】:

  • 那么你有什么问题呢?使您的功能区按钮禁用或不可见?或者弄清楚当前消息是否是在 MSG 文件之上创建的?
  • 我的问题是,当从磁盘打开保存的 Outlook 电子邮件时,不应显示 Outlook 插件我的定制插件,因为它允许用户将这些电子邮件保存到外部平台。

标签: outlook


【解决方案1】:

通常,从磁盘打开的邮件项目没有设置 EntryID 属性。我建议从NewInspector 事件开始,无论何时打开新的检查器窗口,无论是作为用户操作的结果还是通过程序代码,都会触发该事件。因此,您可以检查EntryID 是否存在以及项目是否未组合,这意味着在 Outlook 中新创建的。 PR_MESSAGE_FLAGS 属性提供了可用于识别它是只读项目还是组合项目的标志。

对于 Fluent UI,您需要使用 IRibbonUI.InvalidateIRibbonUI.InvalidateControl 方法。您可以使用 COM 加载项中的回调过程自定义功能区 UI。对于加载项实现的每个回调,响应都会被缓存。例如,如果加载项编写器为按钮实现getImage 回调过程,则调用该函数一次,加载图像,然后如果需要更新图像,则使用缓存的图像而不是调用过程.此过程保持原位,直到加载项使用Invalidate 方法发出缓存值无效的信号,此时,再次调用回调过程并缓存返回响应。然后,加载项可以通过调用 Refresh 方法强制立即更新 UI。 getVisible 回调应该用于动态隐藏和显示功能区 UI。

Fluent UI(又名 Ribbon UI)在以下系列文章中进行了深入描述:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2010-12-10
    • 2019-01-21
    • 1970-01-01
    • 2020-01-10
    • 2018-12-24
    • 2013-08-31
    相关资源
    最近更新 更多