繁体   English   中英

如何在MS Project的右键菜单中添加菜单项?

[英]How to add menu item to right click menu in MS Project?

我正在Visual Studio开发用于MS Project的加载项,并且在right click menu需要自定义菜单项。 这将修改任务数据。 我正在使用以下代码添加项目:

 private void AddMenuItem(String param)
    {
        Office.MsoControlType menuItem =
            Office.MsoControlType.msoControlButton;

        btn_editor =
            (Office.CommandBarButton)app.CommandBars[param].Controls.Add
            (menuItem, missing, missing, 1, true);

        btn_editor.Style = Office.MsoButtonStyle.msoButtonCaption;
        btn_editor.Caption = "My Menu Item";
        btn_editor.Tag = "MyMenuItem";

        btn_editor.Click +=
            new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler
                (editor_Click);

    }

对于String参数,我使用了所有ComandBar名称:

 CommandBars commandBars = (CommandBars)app.CommandBars;
  foreach (CommandBar cbar in commandBars)
        {
                AddMenuItem(cbar.Name);
        }

它所做的就是在“加载项”选项卡的“功能区”中添加按钮。 右键单击菜单中未添加任何按钮。 您知道在右键菜单中添加的另一种方法吗?

MS Project中的上下文菜单查看此链接以查看是否有帮助

这是另一个处理上下文菜单以及Office Project添加上下文菜单的方法

此链接将说明如何在右键单击鼠标时创建上下文菜单,而在用户右键单击鼠标时创建上下文菜单。

您将需要使用Ribbon XML API ,这是您的案例的示例

XML片段

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">
   <contextMenus>
      <contextMenu idMso="ContextMenuText">
         <button id="MyMenuItem" label="My Menu Item" onAction="Button_Click" />
      </contextMenu>
   </contextMenus>
</customUI>

功能区代码

public void Button_Click(Microsoft.Office.Core.IRibbonControl ctrl)
{
        switch (ctrl.Id)
        {
            case "MyMenuItem": System.Windows.Forms.MessageBox.Show("MyMenuItem"); break;
        }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM