Commands.AddNamedCommand 方法
建立一個由環境所儲存並可在下次環境啟動時使用的具名命令,即使該增益集於環境啟動時並未載入也一樣。
命名空間: 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
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
)
abstract AddNamedCommand :
AddInInstance:AddIn *
Name:string *
ButtonText:string *
Tooltip:string *
MSOButton:bool *
Bitmap:int *
ContextUIGUIDs:Object[] byref *
vsCommandDisabledFlagsValue:int -> Command
function AddNamedCommand(
AddInInstance : AddIn,
Name : String,
ButtonText : String,
Tooltip : String,
MSOButton : boolean,
Bitmap : int,
ContextUIGUIDs : Object[],
vsCommandDisabledFlagsValue : int
) : Command
參數
AddInInstance
類型:EnvDTE.AddIn必要項。 AddIn 物件加入新命令。
Name
類型:String必要項。 新命令名稱的簡短形式。 AddNamedCommand 以 Addins.Progid. 為開頭建立唯一的名稱。
ButtonText
類型:String必要項。 如果這個命令是繫結至以名稱而非圖示顯示的按鈕時,將會使用的名稱。
Tooltip
類型:String必要項。 使用者將滑鼠指標停留在任何繫結至新命令的控制項上時,文字會顯示。
MSOButton
類型:Boolean必要項。 表示具名命令按鈕圖片是否為 Office 圖片。 True 表示為按鈕。 如果 MSOButton 是 False,那麼 Bitmap 就是 Visual C++ 資源 DLL 中 16x16 點陣圖資源 (但不是圖示資源) 的 ID,而此 DLL 必須位在包含語言地區設定識別項 (Locale Identifier) (英文為 1033) 的資料夾中。
Bitmap
類型:Int32選擇項。 要顯示在按鈕上之點陣圖的 ID。
ContextUIGUIDs
類型:array<Object[]%選擇項。 GUID 的 SafeArray,可以判斷何種環境內容 (即偵錯模式和設計模式等等) 會顯示這個命令。 請參閱 vsCommandDisabledFlags。
- vsCommandDisabledFlagsValue
類型:Int32
傳回值
類型:EnvDTE.Command
Command 物件。
備註
增益集可以稍後藉由回應 QueryStatus 方法來變更 ButtonText 名稱。 如果文字是以 "#" 開頭,那麼字串的其餘部分就是一個整數,代表增益集註冊的附屬 DLL (Satellite DLL) 中的資源 ID。
ContextUIGUIDs 參數和 vsCommandStatusValue 參數用於未載入增益集的時候,因此無法回應 QueryStatus方法。 如果 ContextUIGUIDs 是空的,那麼該命令會一直啟用,直到載入增益集並能回應 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
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。