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


Commands.AddNamedCommand - метод

Обновлен: Ноябрь 2007

Создает команду с именем, которая сохраняется средой и становится доступной при следующем запуске среды, даже если модуль настроек при запуске среды не загружается.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
Function AddNamedCommand ( _
    AddInInstance As AddIn, _
    Name As String, _
    ButtonText As String, _
    Tooltip As String, _
    MSOButton As Boolean, _
    Bitmap As Integer, _
    ByRef ContextUIGUIDs As Object(), _
    vsCommandDisabledFlagsValue As Integer _
) As Command
'Применение
Dim instance As Commands
Dim AddInInstance As AddIn
Dim Name As String
Dim ButtonText As String
Dim Tooltip As String
Dim MSOButton As Boolean
Dim Bitmap As Integer
Dim ContextUIGUIDs As Object()
Dim vsCommandDisabledFlagsValue As Integer
Dim returnValue As Command

returnValue = instance.AddNamedCommand(AddInInstance, _
    Name, ButtonText, Tooltip, MSOButton, _
    Bitmap, ContextUIGUIDs, vsCommandDisabledFlagsValue)
Command AddNamedCommand(
    AddIn AddInInstance,
    string Name,
    string ButtonText,
    string Tooltip,
    bool MSOButton,
    int Bitmap,
    ref Object[] ContextUIGUIDs,
    int vsCommandDisabledFlagsValue
)
Command^ AddNamedCommand(
    [InAttribute] AddIn^ AddInInstance, 
    [InAttribute] String^ Name, 
    [InAttribute] String^ ButtonText, 
    [InAttribute] String^ Tooltip, 
    [InAttribute] bool MSOButton, 
    [InAttribute] int Bitmap, 
    [InAttribute] array<Object^>^% ContextUIGUIDs, 
    [InAttribute] int vsCommandDisabledFlagsValue
)
function AddNamedCommand(
    AddInInstance : AddIn, 
    Name : String, 
    ButtonText : String, 
    Tooltip : String, 
    MSOButton : boolean, 
    Bitmap : int, 
    ContextUIGUIDs : Object[], 
    vsCommandDisabledFlagsValue : int
) : Command

Параметры

  • AddInInstance
    Тип: EnvDTE.AddIn
    Обязательный. Объект AddIn добавляет новую команду.
  • Name
    Тип: System.String
    Обязательный. Краткая форма имени новой пользовательской команды. AddNamedCommand предваряет "Addins.Progid." для создания уникального имени.
  • ButtonText
    Тип: System.String
    Обязательный. Имя, которое используется, если команда имеет привязку к кнопке, которая отображается именем, а не значком.
  • Tooltip
    Тип: System.String
    Обязательный. Текст, отображаемый, когда пользователь наводит указатель мыши на любой элемент управления, который имеет привязку к новой команде.
  • MSOButton
    Тип: System.Boolean
    Обязательный. Указывает, является ли рисунок кнопки именованной команды рисунком Office. Значение True задает кнопку. Если MSOButton является False, то Bitmap является идентификационным номером растрового изображения 16x16 (но не значка) в библиотеке DLL ресурсов Visual C++, который должен находиться в одной папке с локальным идентификатором языка (1033 для английского, 1049 для русского).
  • Bitmap
    Тип: System.Int32
    Необязательный компонент. Идентификатор растрового изображения, который будет отображен на кнопке.
  • ContextUIGUIDs
    Тип: array<System.Object[]%
    Необязательный компонент. Массив SafeArray для GUID, который определяет, какой контекст среды (другими словами, режим отладки, режим конструктора и так далее) включает команду. См. раздел DisableFlags.
  • vsCommandDisabledFlagsValue
    Тип: System.Int32
    Необязательный компонент. Определяет, как будет отображаться отключенное состояние команды — серым цветом, или же его нельзя будет видеть, когда вводится ContextUIGUIDs и нет ни одной активной команды.

Возвращаемое значение

Тип: EnvDTE.Command
Объект Command.

Заметки

Надстройки позже могут изменять имя ButtonText, отвечая на метод QueryStatus. Если текст начинается с "#", то остальная часть строки — это целое число, которое представляет идентификатор ресурса в зарегистрированной вспомогательной библиотеке DLL надстройки.

ppsaContextUIGUIDs используется, когда надстройка не загружена и поэтому не может отвечать на метод QueryStatus. Если ppsaContextUIGUIDs имеет пустое значение, команда включается и остается включенной, пока надстройка не загрузится и не сможет ответить на QueryStatus.

Надстройка может получить уведомление о вызове через интерфейс IDTCommandTarget. Кнопку можно добавить при помощи метода OnConnection интерфейса IDTExtensibility2.

Примеры

' Macro code.
Imports Microsoft.VisualStudio.CommandBars
Sub AddControlExample()
   ' Before running, you must add a reference to the Office 
   ' typelib to gain access to the CommandBar object. Also, for this 
   ' example to work correctly, there should be an add-in available 
   ' in the Visual Studio environment.
   Dim cmds As Commands
   Dim cmdobj As Command
   Dim cmdbarobj As CommandBar
   Dim colAddins As AddIns

   ' Set references.
   colAddins = DTE.AddIns()
   cmds = DTE.Commands
   cmdobj = cmds.Item("File.NewFile")

   ' Create a toolbar and add the File.NewFile command to it.
   cmds.AddCommandBar("Mycmdbar", _
   vsCommandBarType.vsCommandBarTypeToolbar)
   MsgBox("Commandbar name: " & cmdbarobj.Name)
   cmdobj.AddControl(cmdbarobj)
   cmds.AddNamedCommand(colAddins.Item(1), "MyCommand", _
   "Button Text", "Some tooltip", True)
End Sub

Разрешения

См. также

Ссылки

Commands Интерфейс

Commands - члены

EnvDTE - пространство имен