VSTO: Обновить ярлык кнопки кнопки Outlook2010 - PullRequest
0 голосов
/ 14 мая 2011

Я создаю надстройку Outlook2010, которая будет отображать, сколько электронной почты в папке, назовем ее foo, и у нее много подпапок (Во время загрузки ленты я собрал все элементы из foo и его подпапок. У меня нет проблем с этой частью. Однако, если пользователь перетаскивает электронное письмо, скажем, из папки «Входящие» в папку foo или любую ее подпапку или наоборот, то количество элементов на пользовательской ленте не будет отражаться.

Я попытался использовать событие beforeitemmove для папки, но я не запустил его, а также потому, что пользователь может создать столько подпапок в foo, сколько захочет. Я не думаю, что до того момента событие сработало.

Есть ли способ обновить ленточный элемент управления (кнопка)

Ответы [ 3 ]

1 голос
/ 29 ноября 2012

Для Word я только что обнаружил, что вызов Office :: IRibbonUI :: Invalidate () вызывает утечку объекта GDI. Для всех моих кнопок ленты вызывается соответствующий обратный вызов getImage. Похоже, что Word не освобождает старые изображения.

Я еще не нашел способ включения / отключения кнопок ленты на лету.

1 голос
/ 29 ноября 2012

Да, сделать недействительными работы.Но при использовании в сочетании с обратным вызовом getImage для кнопки это приведет к утечке объектов GDI (2 объекта GDI на обновление на кнопку).

Я только что получил рабочий код:

Использовать глобальныйзагрузка обратного вызова изображения:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="OnLoad" loadImage="OnLoadImage">

Определяется как:

STDMETHOD (OnLoadImage) (BSTR imageName, IPictureDisp ** ppdispImage);

или

1013 *

Похоже, что когда изображение загружается с помощью глобального обратного вызова loadImage, утечка ресурсов не происходит.Но когда изображение загружается с помощью функции обратного вызова getImage кнопки, новое изображение загружается правильно, но я получаю утечку объекта GDI.

1 голос
/ 11 августа 2011

http://social.msdn.microsoft.com/Forums/en-US/vsto/thread/9da68794-a026-49b7-b919-651dc231846c/

Вызов может быть недействительным?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...