如何对Outlook添加右键菜单


// 如果你用VSTO2005开发有以下办法添加右键菜单:
Outlook.ExplorerClass _Explorer = null;
Office.CommandBars _CommandBars = null;
object _Missing = System.Reflection.Missing.Value;
Office.CommandBarButton _ContextMenuButton = null;
private void ThisApplication_Startup(object sender, System.EventArgs e)
{

_Explorer = (Outlook.ExplorerClass)this.ActiveExplorer();
_CommandBars = _Explorer.CommandBars;
_CommandBars.OnUpdate += new Microsoft.Office.Core._CommandBarsEvents_OnUpdateEventHandler(_CommandBars_OnUpdate);


}
void _CommandBars_OnUpdate()
{
foreach (Office.CommandBar bar in _CommandBars)
{
if (bar.Name == "Context Menu")
{
// we found the context menu
Office.MsoBarProtection oldProtection = bar.Protection;
bar.Protection = Microsoft.Office.Core.MsoBarProtection.msoBarNoProtection;
_ContextMenuButton = (Office.CommandBarButton)bar.Controls.Add(Office.MsoControlType.msoControlButton, 1, _Missing, _Missing, true);
_ContextMenuButton.Style = Microsoft.Office.Core.MsoButtonStyle.msoButtonIconAndCaption;
_ContextMenuButton.TooltipText = "Isabella's Context menu....";
_ContextMenuButton.BeginGroup = true;
_ContextMenuButton.Caption = "Click me...";
_ContextMenuButton.Visible = true;
_ContextMenuButton.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(_ContextMenuButton_Click);
bar.Protection = oldProtection;
}
}
}
void _ContextMenuButton_Click(Microsoft.Office.Core.CommandBarButton Ctrl, ref bool CancelDefault)
{
MessageBox.Show("Hey, you clicked the Contextbutton !");
}

源:http://www.cnblogs.com/Isabella/articles/contextMenu.html

posted @ 2011-09-28 12:07  把爱延续  阅读(2170)  评论(0编辑  收藏  举报