【问题标题】:VSTO Outlook: Add new icon to the Outlook items shown in the explorer email listVSTO Outlook:向资源管理器电子邮件列表中显示的 Outlook 项目添加新图标
【发布时间】:2022-10-01 23:59:44
【问题描述】:

在选择文件夹(收件箱、已删除、已发送等)时,Outlook 电子邮件项目在资源管理器视图中显示为 Outlook 项目列表。

对于每个 Outlook 项目,右侧显示一些图标(附件等)。如何为每个 Outlook 项目添加新图标?我想做与herehere 解释的相同的操作,但我不想更改现有的,而是想添加一个新的。

另外(这是可选的)如果我可以在用户单击它时执行一些代码,那将是很棒的,但如果我可以显示它,我就可以了。

    标签: outlook icons vsto outlook-addin office-addins


    【解决方案1】:

    没有简单的方法可以在那里注入自定义图标。您可以做的最好的事情是使用带有一组预定义图标的PR_ICON_INDEX 属性。该属性包含一个数字,指示当您显示一组电子邮件对象时要使用哪个图标。

    如您帖子中提到的文章中所述,您可以使用PropertyAccessor.SetProperty 为 Outlook 项目设置图标。

    另外(这是可选的)如果我可以在用户单击它时执行一些代码,那将是很棒的,但如果我可以显示它,我就可以了。

    您可以处理Explorer 类的SelectionChange 事件,当用户以编程方式或通过与用户界面交互选择不同或附加的Microsoft Outlook 项目时触发该事件。 Outlook 对象模型不为此提供任何其他事件。

    【讨论】:

    • 我不是指注入自定义图标来替换显示的现有图标,而是我想要在现有图标旁边放置新图标。那可能吗?使用 PropertyAccessor.SetProperty 设置 Outlook 项目的 PR_ICON_INDEX,我想您唯一要做的就是将现有图标替换为另一个,但您不会添加新图标,对吧?如果有可能但不是微不足道的,你能告诉我怎么做吗?从您的回答中,我不清楚是否可以添加新图标。
    • 您在正确的道路上 - 无法在网格中添加带有自定义图标的新列。
    【解决方案2】:

    无法在旧图标旁边添加新图标 - Outlook 中的邮件视图不支持该级别的自定义。

    用真正自定义的图标(而不是使用几十个预定义图标中的一个)替换内置图标的唯一方法是创建自定义表单(即使未公开自定义)并为该表单指定图标。如果邮件类别 (MailItem.MessageClass) 与自定义表单匹配,Outlook 将显示您的自定义图标。一点都不理想。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多