我在将图像设置为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上下文菜单中没有图像。按钮出现,它执行我想要的操作,但没有显示图像。并且没有例外。那可能是什么?
答案 0 :(得分:4)
尝试设置contextButton.Style=MsoButtonStyle.msoButtonIconAndCaption