Outlook 2007/2010アドインがあり、エクスプローラーにコンテキストメニューボタンを正常に追加しました。ボタン自体は正しく表示され、正常に機能していますが、コンテキストメニューの組み込みコントロールの上に配置できません。常に下部に追加されます。Outlook2003アドイン用にVSTO3.0を使用して同じボタンを作成しました。同じコードを使用すると、コンテキストメニューの上部の[開く]ボタンの上にボタンが作成されます。
私のコードは以下の通りです
void Application_ItemContextMenuDisplay(CommandBar CommandBar, Selection Selection)
{
if (Selection.Count != 1) return;
CommandBarControl rootButton = CommandBar.Controls.Add(MsoControlType.msoControlButton, Type.Missing, "Create Heat Call", 1, Type.Missing);
CommandBarButton button = (CommandBarButton)rootButton;
button.BeginGroup = true;
button.Tag = "CreateHeatCall";
button.Caption = "Create Heat Call";
button.Style = MsoButtonStyle.msoButtonIconAndCaption;
button.Visible = true;
button.Picture = GetImage();
button.Mask = GetImageMask();
selection = Selection;
((CommandBarButton)rootButton).Click += new _CommandBarButtonEvents_ClickEventHandler(ThisAddIn_Click);
}
CommandBar.Controls.Add()メソッドの「Before」パラメーターを試してみましたが、役に立ちませんでした。問題は、他の組み込みコントロールがコンテキストメニューに追加される前にItemContextMenuDisplayイベントが発生しているのに対し、Outlook2003アドインボタンはExplorer.CommandBarsによって発生するメソッドで作成されていることです。 VSTO4.0Explorerオブジェクトに存在しないOnUpdateイベント。
VSTO 4.0 for Outlook 07/10のコンテキストメニューの下部にないボタンを追加することは可能ですか?