У меня проблема с установкой изображения для пункта пользовательского контекстного меню в Outlook. У меня есть строгое требование использовать пользовательское изображение, которое мне предоставили.
Вот как я это делаю прямо сейчас:
Application.ItemContextMenuDisplay += ApplicationItemContextMenuDisplay;
...
private void ApplicationItemContextMenuDisplay(CommandBar commandBar, Selection selection)
{
var contextButton = commandBar.Controls.Add(MsoControlType.msoControlButton, missing, missing, missing, true) as CommandBarButton;
contextButton.Picture = ImageConverter.ImageToPictureDisp(Resources.ContextMenuIcon);
contextButton.Visible = true;
contextButton.Caption = Resources.ArchiveMail;
contextButton.Click += ArchiveButtonClicked;
}
Мой конвертер изображений выглядит так:
public class ImageConverter : AxHost
{
public ImageConverter() : base("59EE46BA-677D-4d20-BF10-8D8067CB8B33")
{
}
public static IPictureDisp ImageToPictureDisp(Image image)
{
return (IPictureDisp) GetIPictureDispFromPicture(image);
}
}
Изображение, которое я использую, имеет формат bmp (16 * 16, 8 бит).
проблема в том, что в моем контекстном меню outlook нет изображения для моего нового элемента. Кнопка появляется, она делает то, что я хочу, но изображение не отображается. И не исключение не выбрасывается. Что это может быть?