2011-03-31 54 views
1

我有一個問題,將圖像設置爲Outlook中的自定義上下文菜單項。我有強烈的要求使用我提供的自定義圖像。
這就是我如何做它現在:
Outlook 2007/2010上下文菜單項圖片

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上下文菜單中沒有圖像。該按鈕出現,它做我想要它做的,但沒有圖像顯示。並沒有拋出異常。那可能是什麼?

回答

4

試用套裝contextButton.Style=MsoButtonStyle.msoButtonIconAndCaption

+0

非常感謝。它現在有效。 – Proton 2011-03-31 08:29:34