How to: Add Custom Menus and Menu Items to Outlook
Updated: May 2011
This example creates a menu in Microsoft Office Outlook. The menu, which contains one item, appears at the top of the application. When you click the menu item, the code displays a message that shows the menu item caption.
Applies to: The information in this topic applies to application-level projects for Outlook 2007. For more information, see Features Available by Office Application and Project Type.
For a related video demonstration, see How Do I: Customize Outlook Item Context Menus?.
private Office.CommandBar menuBar; private Office.CommandBarPopup newMenuBar; private Office.CommandBarButton buttonOne; private void ThisAddIn_Startup(object sender, System.EventArgs e) { AddMenuBar(); } private void AddMenuBar() { try { menuBar = this.Application.ActiveExplorer().CommandBars.ActiveMenuBar; newMenuBar = (Office.CommandBarPopup)menuBar.Controls.Add( Office.MsoControlType.msoControlPopup, missing, missing, missing, true); if (newMenuBar != null) { newMenuBar.Caption = "New Menu"; buttonOne = (Office.CommandBarButton)newMenuBar.Controls. Add(Office.MsoControlType.msoControlButton, missing, missing, 1, true); buttonOne.Style = Office.MsoButtonStyle. msoButtonIconAndCaption; buttonOne.Caption = "Button One"; buttonOne.FaceId = 65; buttonOne.Tag = "c123"; buttonOne.Click += new Office._CommandBarButtonEvents_ClickEventHandler( buttonOne_Click); newMenuBar.Visible = true; } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } } private void buttonOne_Click(Office.CommandBarButton ctrl, ref bool cancel) { System.Windows.Forms.MessageBox.Show("You clicked: " + ctrl.Caption, "Custom Menu", System.Windows.Forms.MessageBoxButtons.OK); }