Outlook 2010和Add-in-Express:如何在插入主窗口的一侧时使插件可折叠?

时间:2011-06-09 08:35:54

标签: add-in outlook-addin

我正在使用Add-in-Express来开发Outlook插件的原型,而我真正想要的是当它直接停靠在主Outlook窗口内时可能会折叠/扩展插件形式。我怀疑Outlook VSTO API不允许这样做,可能Add-In-Express也不能这样做,但也许有人知道一些可能有帮助的黑客。

澄清我的情况的技术方面:

  • 我有ADXOIFormsManager和一个ADXOlForm
  • ADXOlForm将属性ExplorerLayout设置为“RightReadingPane”
  • ADXOlForm将属性ExplorerAllowedDropRegions设置为“RightReadingPane; DockRight”

现在,当Outlook启动插件时有一个折叠/展开按钮,它可以工作。但是,如果我将插件拖动到第二个允许的停靠区域,该区域基本上是主窗口按钮的右侧消失。

那么,是否可以强制我的插件以某种方式崩溃/扩展功能,无论停靠区域是什么,或者这只是一种方式而且我必须接受它?如果后者是真的,例如Xobni插件可以做到这一点吗?他们是否在WinApi级别操作Outlook的窗口并更改其大小以与Xobni一起使用,或者他们只是模拟该行为并且只是将插件大小更改为看起来像是以类似的方式最小化 To-Do Bar是?

更新 我知道根据Add-in-Express团队在他们的论坛和文档中所说的,这是VSTO API的限制,但我想知道是否有人破解它。

3 个答案:

答案 0 :(得分:1)

好的,通过谷歌的diggin'确保我不能用Add-In-Express API直接完成我想要做的事情所以我选择作弊并模拟所需的行为。

所以,我做了什么:

  • 属性IsDragDropAllowed设置为false
  • 属性AlwaysShowHeader设置为false
  • 在我的表单顶部添加了带按钮的面板,该按钮用作展开/折叠开关
  • 插件的最小宽度受VSTO限制为74,因此插件的“折叠”状态的宽度
  • 当插件被折叠时,带按钮的面板会将其对接更改为左侧,并像Outlook To-Do Bar中一样充当可点击的栏
  • 因为我禁用了拖放功能,所以我必须添加功能区视图选项卡我自己的按钮,以允许用户更改显示插件的位置,这对我的项目来说很好

当然,我必须在扩展和崩溃状态之间切换时修复控件的一些布局问题,但基本上我有我想要的东西:基于Add-In-Express的插件,具有展开/折叠功能,无论插件停靠的位置如何。< / p>

答案 1 :(得分:0)

如果您是加载项快递客户,请向他们的支持部门提出问题。他们在所有与产品和Office环境相关问题有关的方面都是专家。 (我的电话总是有能力回答)。

但请注意,Add-in Express将自己理解为“快速开发产品”,以允许Office开发人员使用最佳实践创建高级加载项,并且在一个非常时间范围内。另一方面,如果你有一个拥有5名成员并拥有大量C ++经验的开发团队,你可以使用Windows资源管理器和Office生成高级内容 - 你提到Xnobi,我可以在DMS环境中提到插件,像OpenText eDocs。这不是使用Add-in Express(我猜: - ))

开发的

答案 2 :(得分:0)

您遇到的问题是由于两个窗格(在您的示例中提到的位置中的窗格)基于两种不同的技术。虽然这两个窗格具有相似的外观,但其中一个是一个外接式快速窗格,它为Outlook窗口创建子类以便为自己腾出空间;另一个是由Office提供的,Custom Task Pane是它的名字。也就是说,问题没有解决。