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
Разрешения
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.