Поделиться через


Пошаговое руководство: Добавление вложенное меню в меню

Построение данного пошагового руководства для демонстрации in Пошаговое руководство: Добавление меню в строке меню Visual Studio (C#) путем отображения, как добавить в подменю TestMenu меню.

Подменю вторичный меню, которое отображается в другие меню. Подменю может быть определено стрелками, следуйте по имени. Щелкните имя будет подменю и его команды должны отображаться.

В этом пошаговом руководстве создается в меню подменю в строке меню Visual Studio и помещает новую команду в подменю. В этом пошаговом руководстве также реализует новую команду.

Обязательные компоненты

Чтобы выполнить это пошаговое руководство, необходимо устанавливать SDK для Visual Studio 2010.

Примечание

Дополнительные сведения о пакете SDK для Visual Studio см. в разделе интеграция SDK Visual Studio.Чтобы узнать, как загрузить пакет SDK для Visual Studio см. в разделе Центр разработчиков расширяемости Visual Studio на веб-сайте MSDN.

Расположения для шаблона проекта пакета Visual Studio

Шаблон проекта пакета Visual Studio в выпуске 3 местах в Создать проект диалоговое окно:

  • Под расширяемость Visual Basic. Язык по умолчанию для проекта Visual Basic.

  • Под Расширяемость C#. Язык по умолчанию для проекта c#.

  • Под Другие типы проектов расширяемости. Язык по умолчанию для проекта C++.

Создание VSPackage

Создание TopLevelMenu VSPackage

Добавление в меню подменю

Добавление в меню подменю

  1. IN Обозреватель решенийвыберите команду открыть TopLevelMenu.vsct.

  2. в <Symbols> раздел добавить <IDSymbol> элемент вложенного меню, один для группы вложенного меню, а другой для команды, все <GuidSymbol> guidTopLevelMenuCmdSet узлом с именем "". Это тот же узел, содержащий <IDSymbol> для элемента меню верхнего уровня.

    <IDSymbol name="SubMenu" value="0x1100"/>
    <IDSymbol name="SubMenuGroup" value="0x1150"/>
    <IDSymbol name="cmdidTestSubCommand" value="0x0105"/>
    
  3. Добавьте вновь созданный в подменю <Menus> раздел.

    <Menu guid="guidTopLevelMenuCmdSet" id="SubMenu"
    priority="0x0100" type="Menu">
      <Parent guid="guidTopLevelMenuCmdSet" id="MyMenuGroup"/>
      <Strings>
        <ButtonText>Sub Menu</ButtonText>
        <CommandName>Sub Menu</CommandName>
      </Strings>
    </Menu>
    

    Пара GUID/ID родительского элемента определяет группу, которая была создана в меню Пошаговое руководство: Добавление меню в строке меню Visual Studio (C#)и дочерний элемент меню верхнего уровня.

  4. Добавьте группу меню, заданная в шаге 2 на <Groups> раздел и делает его дочерний элемент вложенного меню.

     <Group guid="guidTopLevelMenuCmdSet" id="SubMenuGroup"
    priority="0x0000">
       <Parent guid="guidTopLevelMenuCmdSet" id="SubMenu"/>
     </Group>
    
  5. Добавление новой <Button> элемент <Buttons> раздел, чтобы определить команду, созданный на шаге 2, как элемент вложенного меню.

    <Button guid="guidTopLevelMenuCmdSet"
    id="cmdidTestSubCommand" priority="0x0000"
    type="Button">
      <Parent guid="guidTopLevelMenuCmdSet" id="SubMenuGroup" />
      <Icon guid="guidImages" id="bmpPic2" />
      <Strings>
        <CommandName>cmdidTestSubCommand</CommandName>
        <ButtonText>Test Sub Command</ButtonText>
      </Strings>
    </Button>
    

    Примечание

    В файлах, .vsct <Button> элемент родовая конструкция, которая используется для представления пунктов меню, кнопки и другие элементы пользовательского интерфейса (пользовательского интерфейса), которые пользователь может щелкнуть выполнить команду.

  6. IN Обозреватель решенийщелкните правой кнопкой мыши и выберите команду TopLevelMenu.vsct Перестроить.

    Это создает файл .vsct с изменениями. Исправьте все ошибки, которые могут возникнуть во время построения. (Наиболее распространенной ошибка использует неправильный аргументы, метка GUID или идентификатор команды. Метки GUID и идентификаторы команд всегда учитывается регистр.)

  7. Нажмите клавишу F5, чтобы открыть экземпляр Visual Studio экспериментальном среда находится в режиме отладки.

  8. Нажать TestMenu просмотреть новое именованное подменю sub меню. Нажать sub меню открытие подменю и увидеть новую команду " Проверьте sub - команда. Щелкните Обратите внимание, что Проверьте sub - команда не выполняет никаких действий.

    Примечание

    Необходимо закрыть экспериментальном Visual Studio перед тем как перейти к следующему шагу.

Добавление команды

Добавление поддержки команд в управляемом коде

  1. Откройте PkgCmdID.cs или PkgCmdID.vb в редакторе кода.

  2. Добавьте следующий идентификатор команды после существующего идентификатор команды в PkgCmdIDList определение класса.

    public const int cmdidTestSubCmd = 0x105;
    
  3. Откройте TopLevelMenuPackage.cs или TopLevelMenuPackage.vb в редакторе кода.

  4. Найдите скрытая с надписью область Package Members и развернуть, щелкнув ввести положительного значения левое поле.

  5. Найдите Initialize метод и добавляет следующие линии непосредственно после вызова AddCommand метод. Символ SubItemCallback не будут не определены до шага 6.

                CommandID subCommandID = new CommandID(
    GuidList.guidTopLevelMenuCmdSet,
    (int)PkgCmdIDList.cmdidTestSubCmd);
                MenuCommand subItem = new MenuCommand(
                    new EventHandler(SubItemCallback), subCommandID);
                mcs.AddCommand(subItem);
    
  6. В конце класса, сразу после MenuItemCallback метод добавьте следующий метод. Это метод, который вызывается, когда нажимается новой команды во вложенном меню.

    private void SubItemCallback(object sender, EventArgs e)
    {
        IVsUIShell uiShell = (IVsUIShell)GetService(
            typeof(SVsUIShell));
        Guid clsid = Guid.Empty;
        int result;
        uiShell.ShowMessageBox(
               0,
               ref clsid,
               "My Top Level Menu Package",
               string.Format(CultureInfo.CurrentCulture,
               "Inside {0}.SubItemCallback()",
               this.ToString()),
               string.Empty,
               0,
               OLEMSGBUTTON.OLEMSGBUTTON_OK,
               OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_FIRST,
               OLEMSGICON.OLEMSGICON_INFO,
               0,
               out result);
    }
    
  7. В меню Построение выберите команду Построить решение, чтобы выполнить построение решения.

  8. Нажмите клавишу F5, чтобы открыть экземпляр экспериментальном Visual Studio.

  9. На TestMenu меню выберите команду sub меню затем перейдите Проверьте sub - команда. Окно сообщения должно появиться и появляться текст внутри Company.TopLevelMenu.TopLevelMenuPackage.SubItemCallback "()".

См. также

Задачи

Пошаговое руководство: Добавление меню в строке меню Visual Studio (C#)

Другие ресурсы

Пошаговые руководства, для команд меню, панелей инструментов

Команды, меню, панели инструментов