次の方法で共有


Commands.AddNamedCommand メソッド

更新 : 2007 年 11 月

名前付きコマンドを作成します。この名前付きコマンドは環境によって保存され、次に環境を起動したときにアドインが読み込まれない場合でも使用できます。

名前空間 :  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 は、Visual C++ リソース DLL 内の 16 × 16 ビットマップ リソース (アイコン リソースではありません) の ID です。このリソース DLL は、言語のロケール識別子 (日本語の場合は 1041) が付いたフォルダに存在する必要があります。

  • Bitmap
    型 : System.Int32

    省略可能です。ボタンに表示するビットマップの ID。

  • ContextUIGUIDs
    型 : array<System.Object[]%

    省略可能です。コマンドを有効にする環境コンテキスト (デバッグ モード、デザイン モードなど) を決定する、GUID の SafeArray。DisableFlags を参照してください。

  • vsCommandDisabledFlagsValue
    型 : System.Int32

    省略可能です。ContextUIGUIDs を指定したときに、現在アクティブになっているコマンドがない場合、無効状態のコマンドを非表示にするか淡色表示にするかを決定します。

戻り値

型 : EnvDTE.Command

Command オブジェクト。

解説

アドインは、QueryStatus メソッドに応答することによって、ButtonText 名を後で変更できます。テキストが "#" で始まる場合、文字列の残りの部分は、アドインの登録済みサテライト DLL のリソース ID を表す整数です。

ppsaContextUIGUIDs は、アドインが読み込まれないために QueryStatus メソッドに応答できないときに使用されます。ppsaContextUIGUIDs が空の場合、アドインが読み込まれて QueryStatus に応答できるようになるまで、コマンドは有効になります。

アドインは、IDTCommandTarget インターフェイスを通じて呼び出し通知を受け取ることができます。IDTExtensibility2 インターフェイスの OnConnection メソッドを使用して、ボタンを追加できます。

' 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 名前空間