Outlook 2007/2010 изображение элемента контекстного меню - PullRequest
1 голос
/ 31 марта 2011

У меня проблема с установкой изображения для пункта пользовательского контекстного меню в 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 нет изображения для моего нового элемента. Кнопка появляется, она делает то, что я хочу, но изображение не отображается. И не исключение не выбрасывается. Что это может быть?

1 Ответ

4 голосов
/ 31 марта 2011

Попробуйте установить contextButton.Style=MsoButtonStyle.msoButtonIconAndCaption

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