Outlook 2007/2010上下文菜单项图片

时间:2011-03-31 08:16:29

标签: c# contextmenu outlook-addin

我在将图像设置为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 个答案:

答案 0 :(得分:4)

尝试设置contextButton.Style=MsoButtonStyle.msoButtonIconAndCaption