2011-10-27 25 views
1

從宏觀,我訪問的命令是在工具欄上:如何在VS2010中的宏中更改工具欄上命令的標題?

Dim name As String = "Macros.MyMacros.MyMacros.ToggleExceptions" 
Dim cmd As EnvDTE.Command = DTE.Commands.Item(name) 

我現在該如何更改命令的標題工具欄上?它似乎沒有必要的屬性。我是否需要將其轉換爲其他內容?

+0

,宏觀實際上並沒有訪問工具欄上的命令。 DTE.CommandBars將是一個起點,我認爲。 –

回答

3

我實現它:

Private Sub Main() 
    Const BAR_NAME As String = "MenuBar" 
    Const CTL_NAME = "Foo" 

    ChangeCommandCaption(BAR_NAME, CTL_NAME, "Bar") 
End Sub 

Private Sub ChangeCommandCaption(ByVal cmdBarName As String, ByVal ctlName As String, ByVal caption As String) 
    Dim bars As Microsoft.VisualStudio.CommandBars.CommandBars 

    bars = DirectCast(DTE.CommandBars, Microsoft.VisualStudio.CommandBars.CommandBars) 
    If bars Is DBNull.Value Then Exit Sub 

    Dim menuBar As CommandBar = bars.Item(cmdBarName) 
    If menuBar Is DBNull.Value Then Exit Sub 

    Dim cmdBarCtl As CommandBarControl 

    Try 
     cmdBarCtl = menuBar.Controls.Item(ctlName) 
     If cmdBarCtl Is DBNull.Value Then Exit Sub 
    Catch ex As Exception 
     Exit Sub 
    End Try 

    cmdBarCtl.Caption = caption 
End Sub 
相關問題