Outlook 2010 и Add-in-Express: как сделать плагин разборным, когда закреплен на одной из сторон главного окна? - PullRequest
2 голосов
/ 09 июня 2011

Я использую Add-in-Express для разработки прототипа нашего плагина для Outlook, и мне действительно хотелось бы иметь возможность свернуть / развернуть форму плагина, когда он закреплен прямо в главном окне Outlook. Я подозреваю, что Outlook VSTO API не позволяет делать такие вещи, и, вероятно, Add-In-Express тоже не может этого сделать, но, возможно, кто-то знает какой-нибудь хак, который может помочь.

Чтобы прояснить техническую сторону моей ситуации:

  • У меня есть ADXOIFormsManager с одним ADXOlForm
  • ADXOlForm имеет свойство ExplorerLayout, установленное в «RightReadingPane»
  • ADXOlForm имеет свойство ExplorerAllowedDropRegions, установленное в «RightReadingPane; DockRight»

Теперь, когда Outlook запускается, плагин имеет кнопку свертывания / развертывания, и она работает. Но если я перетащу плагин во вторую разрешенную область док-станции, которая в основном справа от кнопки главного окна, исчезнет.

Итак, можно ли как-то принудительно свернуть / развернуть функциональность для моего плагина независимо от области стыковки, или это просто так, и я должен это принять? Если последнее верно, как это возможно, например, плагин Xobni? Управляют ли они окнами Outlook на уровне WinApi и изменяют ли их размеры для работы с Xobni, или они просто имитируют это поведение и просто изменяют размер плагина, чтобы он выглядел так, как если бы он был свернут аналогичным образом? To-Do Bar есть?

UPDATE Я знаю, что в соответствии с тем, что команда Add-in-Express говорит на своем форуме и в документах, это ограничение API-интерфейса VSTO, но я хотел бы знать, если кто-нибудь взломает его.

Ответы [ 3 ]

1 голос
/ 10 июня 2011

Хорошо, копаясь в Google, я убедился, что то, что я хотел сделать, нельзя сделать напрямую с помощью API-интерфейса Add-In-Express, поэтому я решил немного обмануть и смоделировать необходимое поведение.

Итак, что я сделал:

  • свойство IsDragDropAllowed установлено в false
  • свойство AlwaysShowHeader имеет значение false
  • в верхней части моей формы добавлена ​​панель с кнопкой, которая действует как переключатель раскрытия / свертывания
  • минимальная ширина плагина ограничена VSTO до 74, так что это ширина в «свернутом» состоянии плагина
  • когда плагин свернут, панель с кнопкой меняет свое закрепление влево и действует как интерактивная панель, как в панели задач Outlook
  • , так как я отключил перетаскивание, мне пришлось добавить на ленту вкладку View мою собственную кнопку, чтобы позволить пользователю изменить место отображения плагина, что хорошо для моего проекта

Конечно, мне приходилось исправлять некоторые проблемы макета с элементами управления при переключении между состоянием разворачивания и свертывания, но в основном у меня было то, что я хотел: плагин на основе Add-In-Express с функциональностью разворачивания / сворачивания независимо от места, где подключен плагин.

0 голосов
/ 19 июля 2011

Проблема, с которой вы сталкиваетесь, связана с тем, что две панели (то есть панели в позициях, упомянутых в вашем примере) основаны на двух разных технологиях.Хотя эти две панели выглядят одинаково, одна из них - это панель Add-in Express, которая подклассирует окна Outlook, чтобы освободить место для себя;Office предоставлен другим, его имя - Custom Task Pane.Тем не менее, проблема не имеет решения.

0 голосов
/ 10 июня 2011

Если вы являетесь клиентом Add-in Express, задайте свой вопрос его службе поддержки.Они действительно являются экспертами во всем, что касается их продукта и связанных с этим проблем в среде Office.(На мои звонки всегда отвечают компетентно).

Но учтите, что Add-in Express понимает себя как «Продукт быстрой разработки» , позволяющий разработчикам Office создаватьвысокоуровневые надстройки с лучшими практиками и в приемлемые срокиС другой стороны, если у вас есть команда разработчиков из 5 человек, имеющих большой опыт работы с C ++, вы можете создавать высокоуровневые вещи с помощью Windows Explorer и Office - вы упомянули Xnobi, я могу упомянуть надстройки в среде DMS,как OpenText eDocs.Это не разработано с использованием надстройки Express (я думаю: -))

...