zoukankan      html  css  js  c++  java
  • 如何:向 Outlook 添加自定义菜单和菜单项

    此示例在 Microsoft Office Outlook 中创建一个菜单。这个包含一个菜单项的菜单将出现在应用程序的顶部。单击菜单项时,代码将显示一条显示菜单项标题的消息。

    private Office.CommandBar menuBar;
    private Office.CommandBarPopup newMenuBar;
    private Office.CommandBarButton buttonOne;
    private string menuTag = "A unique tag";

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        RemoveMenubar();
        AddMenuBar();
    }

    private void AddMenuBar()
    {
        try
        {
            menuBar = this.Application.ActiveExplorer().CommandBars.ActiveMenuBar;
            newMenuBar = (Office.CommandBarPopup)menuBar.Controls.Add(
                Office.MsoControlType.msoControlPopup,missing,
                missing, missing, false);
            if (newMenuBar != null)
            {
                newMenuBar.Caption = "New Menu";
                newMenuBar.Tag = menuTag;
                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)
        {
            MessageBox.Show(ex.Message);
        }
    }

    private void buttonOne_Click(Office.CommandBarButton ctrl,
        ref bool cancel)
    {
        MessageBox.Show("You clicked: " + ctrl.Caption,
            "Custom Menu", MessageBoxButtons.OK);
    }
    private void RemoveMenubar()
    {
        // If the menu already exists, remove it.
        try
        {
            Office.CommandBarPopup foundMenu = (Office.CommandBarPopup)
                this.Application.ActiveExplorer().CommandBars.ActiveMenuBar.
                FindControl(Office.MsoControlType.msoControlPopup,
                missing, menuTag, true, true);
            if (foundMenu != null)
            {
                foundMenu.Delete(true);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

  • 相关阅读:
    java.lang.Object中的方法
    lyt经典版MySQL基础——进阶3:排序查询
    lyt经典版MySQL基础——进阶5:分组查询
    lyt经典版MySQL基础——DML语言-数据的插入、修改、删除操作
    lyt经典版MySQL基础——进阶8:联合查询
    lyt经典版MySQL基础——进阶7:子查询
    lyt经典版MySQL基础——进阶6:连接查询-sql99语法-内连接、外连接、交叉连接
    lyt经典版MySQL基础——进阶6:连接查询-sql92语法-内连接
    lyt经典版MySQL基础——进阶4:常见函数-分组函数
    lyt经典版MySQL基础——进阶2:条件查询
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1217564.html
Copyright © 2011-2022 走看看