Freigeben über


Commands2.AddNamedCommand2-Methode

Erstellt einen benannten Befehl, der von der Umgebung gespeichert wird und beim nächsten Start der Umgebung zur Verfügung steht, auch wenn das Add-In beim Umgebungsstart nicht geladen wird.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
Function AddNamedCommand2 ( _
    AddInInstance As AddIn, _
    Name As String, _
    ButtonText As String, _
    Tooltip As String, _
    MSOButton As Boolean, _
    Bitmap As Object, _
    ByRef ContextUIGUIDs As Object(), _
    vsCommandStatusValue As Integer, _
    CommandStyleFlags As Integer, _
    ControlType As vsCommandControlType _
) As Command
Command AddNamedCommand2(
    AddIn AddInInstance,
    string Name,
    string ButtonText,
    string Tooltip,
    bool MSOButton,
    Object Bitmap,
    ref Object[] ContextUIGUIDs,
    int vsCommandStatusValue,
    int CommandStyleFlags,
    vsCommandControlType ControlType
)
Command^ AddNamedCommand2(
    [InAttribute] AddIn^ AddInInstance, 
    [InAttribute] String^ Name, 
    [InAttribute] String^ ButtonText, 
    [InAttribute] String^ Tooltip, 
    [InAttribute] bool MSOButton, 
    [InAttribute] Object^ Bitmap, 
    [InAttribute] array<Object^>^% ContextUIGUIDs, 
    [InAttribute] int vsCommandStatusValue, 
    [InAttribute] int CommandStyleFlags, 
    [InAttribute] vsCommandControlType ControlType
)
abstract AddNamedCommand2 : 
        AddInInstance:AddIn * 
        Name:string * 
        ButtonText:string * 
        Tooltip:string * 
        MSOButton:bool * 
        Bitmap:Object * 
        ContextUIGUIDs:Object[] byref * 
        vsCommandStatusValue:int * 
        CommandStyleFlags:int * 
        ControlType:vsCommandControlType -> Command
function AddNamedCommand2(
    AddInInstance : AddIn, 
    Name : String, 
    ButtonText : String, 
    Tooltip : String, 
    MSOButton : boolean, 
    Bitmap : Object, 
    ContextUIGUIDs : Object[], 
    vsCommandStatusValue : int, 
    CommandStyleFlags : int, 
    ControlType : vsCommandControlType
) : Command

Parameter

  • AddInInstance
    Typ: AddIn

    Erforderlich. AddIn, das den neuen Befehl hinzufügen.

  • Name
    Typ: String

    Erforderlich. Die Kurzform des Namens für den neuen Befehl. AddNamedCommand2 verwendet das Präfix Addins.Progid., um einen eindeutigen Namen zu erstellen.

  • ButtonText
    Typ: String

    Erforderlich. Der Name, der in der Benutzeroberfläche für diesen Befehl zu zeigen.

  • Tooltip
    Typ: String

    Erforderlich. Der angezeigte Text, wenn ein Benutzer mit dem Mauszeiger auf eines der an den neuen Befehl gebundenen Steuerelemente zeigt.

  • MSOButton
    Typ: Boolean

    Erforderlich. Dieser Wert muss false sein.

  • Bitmap
    Typ: Object

    Optional. Die ID einer auf der Schaltfläche anzuzeigenden Bitmap.

    Bitmap kann eines der folgenden Elemente sein:

    - Eine Bitmap

    - Ein Icon

    - Ein IPicture

    - Die ID einer vom Add-In bereitgestellten 16x16-Bitmapressource (jedoch keine Symbolressource). Visual Studio-Blicke zuerst in Satelliten-DLLs des Add-Ins. Wenn die Ressource dort nicht gefunden wird, wird die Add-In-DLL durchsucht.

  • ContextUIGUIDs
    Typ: array<Object[]%

    Optional. Die GUIDs, die bestimmen, welche Umgebungskontexte (das heißt, den Debugmodus, Entwurfsmodus, usw.). dem Befehl anzeigen.

  • vsCommandStatusValue
    Typ: Int32

    Optional. Bestimmt, ob der deaktivierte Zustand des Befehls nicht sichtbares oder deaktiviertes, wenn Sie einen ContextUIGUIDs-Parameter angeben und sind keine gerade aktive ist. Siehe vsCommandDisabledFlags.

  • ControlType
    Typ: EnvDTE80.vsCommandControlType

    Optional. Definiert den Steuerelementtyp, der beim Erstellen der Benutzeroberfläche hinzugefügt wird.

Rückgabewert

Typ: Command
Der benannte Befehl, der erstellt wurde.

Hinweise

Add-Ins können später den ButtonText-Namen ändern, indem sie auf die QueryStatus-Methode reagieren. Wenn der Text mit # beginnt, besteht der Rest der Zeichenfolge aus einer ganzen Zahl, die eine Ressourcen-ID in der registrierten Satellite-DLL des Add-Ins darstellt.

Es gibt zwei Standardbefehlszustände: Standardeinstellung aktivierte Zustand und der Standardsichtbarkeitszustand. Diese Standardzustände sind wichtig, wenn ein Befehlshandler nicht gefunden wird (da die Komponente nicht geladen oder IDTCommandTarget nicht implementiert wird). Wenn die Komponente geladen und IDTCommandTarget implementiert wird, gelten die Standardwerte nie an.

Es gibt zwei interessante Fälle, in denen Standardzustände verwendet werden:

  1. Sie stellen Benutzeroberflächenkontext GUIDs zum ContextUIGUIDs-Parameter bereit. In diesem Fall wird die Sichtbarkeit durch vollständig die GUIDS angegebenen Kontext bestimmt. Wenn der Kontext aktiv ist, ist der Befehl sichtbar; andernfalls wird es ausgeblendet. Aktivierter Zustand wird vollständig durch die Standardwerte bestimmt. Standardmäßig in Visual Studio wird ein Befehl immer aktiviert, wenn Sie vsCommandDisabledFlagsGrey übergeben, dann, das Ihr Standardzustand deaktiviert wird. Wenn Sie vsCommandDisabledFlagsEnabled oder übergeben Sie einfach nicht diesen Parameter angeben, wird im Standardzustand aktiviert.

  2. Sie stellen Benutzeroberflächenkontext GUIDs nicht über den ContextUIGUIDs-Parameter bereit. In diesem Fall ist Sichtbarkeit auf Grundlage die Flags, die Sie an vsCommandStatusValue oder dem Standardzustand übergeben. Standardbefehlssichtbarkeit in VS verwendet wird, sichtbar ist. Wenn Sie einzelne vsCommandDisabledFlagsHidden hier, werden standardmäßig nicht sichtbar. Aktivierter Zustand entspricht dem hier, die er bei 1 oben (ist bestimmt durch die Flags und/oder den Standard zur Verhalten).

Das Add-In kann Aufrufbenachrichtigungen über die IDTCommandTarget-Schnittstelle empfangen. Mit der OnConnection-Methode der IDTExtensibility2-Schnittstelle kann eine Schaltfläche hinzugefügt werden.

.NET Framework-Sicherheit

Siehe auch

Referenz

Commands2 Schnittstelle

EnvDTE80-Namespace