IDTCommandTarget.QueryStatus (Método)
Devuelve el estado actual del comando con nombre especificado (si está habilitado, deshabilitado, oculto, etc.).
Espacio de nombres: EnvDTE
Ensamblado: EnvDTE (en EnvDTE.dll)
Sintaxis
'Declaración
Sub QueryStatus ( _
CmdName As String, _
NeededText As vsCommandStatusTextWanted, _
<OutAttribute> ByRef StatusOption As vsCommandStatus, _
<OutAttribute> ByRef CommandText As Object _
)
void QueryStatus(
string CmdName,
vsCommandStatusTextWanted NeededText,
out vsCommandStatus StatusOption,
out Object CommandText
)
void QueryStatus(
[InAttribute] String^ CmdName,
[InAttribute] vsCommandStatusTextWanted NeededText,
[InAttribute] [OutAttribute] vsCommandStatus% StatusOption,
[InAttribute] [OutAttribute] Object^% CommandText
)
abstract QueryStatus :
CmdName:string *
NeededText:vsCommandStatusTextWanted *
StatusOption:vsCommandStatus byref *
CommandText:Object byref -> unit
function QueryStatus(
CmdName : String,
NeededText : vsCommandStatusTextWanted,
StatusOption : vsCommandStatus,
CommandText : Object
)
Parámetros
- CmdName
Tipo: System.String
Nombre del comando que se va a comprobar.
- NeededText
Tipo: EnvDTE.vsCommandStatusTextWanted
Una constante vsCommandStatusTextWanted que especifica si se devuelve información de la comprobación y, en caso afirmativo, qué tipo de información se devuelve.
- StatusOption
Tipo: EnvDTE.vsCommandStatus%
vsCommandStatus que especifica el estado actual del comando.
- CommandText
Tipo: System.Object%
El texto que se debe devolver si se especifica vsCommandStatusTextWantedStatus.
Comentarios
En el ejemplo siguiente se utiliza el objeto Command, sus métodos AddNamedCommand y AddControl, y la interfaz IDTCommandTarget y sus métodos (Exec y QueryStatus), para mostrar cómo hacer que un complemento aparezca como un comando en el menú Herramientas en Visual Studio. Tenga en cuenta que este código no funciona en una macro.
Ejemplos
Implements IDTCommandTarget
Dim applicationObject As EnvDTE.DTE
Dim addInInstance as EnvDTE.AddIn
Dim objAddIn As AddIn = CType(addInInst, AddIn)
Dim CommandObj As Command
Try
CommandObj = applicationObject.Commands.AddNamedCommand(objAddIn, "MyAddin1", "MyAddin1", "Executes the command for MyAddin1", True, 59, Nothing, 1 + 2)
'1+2 == vsCommandStatusSupported+vsCommandStatusEnabled
CommandObj.AddControl(applicationObject.CommandBars.Item("Tools"))
Catch e as System.Exception
End Try
Public Sub Exec(ByVal cmdName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec
handled = False
If (executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault) Then
If cmdName = "MyAddin1.Connect.MyAddin1" Then
handled = True
Exit Sub
End If
End If
End Sub
Public Sub QueryStatus(ByVal cmdName As String, ByVal neededText As vsCommandStatusTextWanted, ByRef statusOption As vsCommandStatus, ByRef commandText As Object) Implements IDTCommandTarget.QueryStatus
If neededText = EnvDTE.vsCommandStatusTextWanted.vsCommandStatusTextWantedNone Then
If cmdName = "MyAddin1.Connect.MyAddin1" Then
statusOption = CType(vsCommandStatus.vsCommandStatusEnabled & vsCommandStatus.vsCommandStatusSupported, vsCommandStatus)
Else
statusOption = vsCommandStatus.vsCommandStatusUnsupported
End If
End If
End Sub
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.