Как добавить пункт меню в контекстное меню в MS Project? - PullRequest
0 голосов
/ 03 февраля 2012

Я разрабатываю надстройку для MS Project в Visual Studio, и мне нужен пользовательский пункт меню в 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);
        }

Все, что он сделал, это добавил кнопку вЛента в Таблице надстроек.Ни одна кнопка не была добавлена ​​в меню правой кнопки мыши.Знаете ли вы другой способ добавить в меню правой кнопкой мыши?

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

Контекстные меню в MS Project Взгляните на эту ссылку, чтобы посмотреть, поможет ли она

Вот еще одна, которая также касается контекстных меню Office Project, добавляющий контекстМеню

Эта ссылка объяснит, как получить при создании контекстного меню при щелчке правой кнопкой мыши Создание контекстного меню при щелчке правой кнопкой мыши по мыши

0 голосов
/ 15 июля 2018

Вам нужно будет использовать API ленты XML , это пример для вашего случая

Фрагмент 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;
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...