共用方式為


How to: 建立可重複使用的按鈕群組

命令群組是一系列總是顯示於功能表或工具列的 [在一起的指令。 可重複使用指定給不同的父功能表中的任何命令群組 CommandPlacements .vsct 檔的區段。

命令群組通常包含按鈕,但也可以包含其他的功能表或combo方塊。

若要建立可重複使用的一組按鈕

  1. 執行 Visual Studio 的封裝範本,來建立 VSPackage,然後選取功能表命令選取 VSPackage 選項頁面。 或者,您可以開啟現有的專案包含.vsct 檔。 如需詳細資訊,請參閱 逐步解說: 使用 Visual Studio 的封裝範本建立功能表命令

  2. 在專案中開啟.vsct 檔案。

  3. Symbols區段中,找出 GuidSymbol 項目,包含群組和專案的命令。

    預設情況下,它稱為 guid<ProjectName>CmdSet

  4. 新增 IDSymbol 您的群組和另一個則用於如下列範例所示,您將加入至群組中,每個按鈕的項目。

    <GuidSymbol name="guidButtonGroupCmdSet" value="{f69209e9-975a-4543-821d-1f4a2c52d737}">
      <IDSymbol name="MyMenuGroup" value="0x1020" />
      <IDSymbol name="cmdidMyCommand" value="0x0100" />
    </GuidSymbol>
    

    預設情況下,封裝範本會建立群組,名為 MyGroup 和按鈕具有您所提供,一起使用的名稱IDSymbol為每個項目。

  5. Groups區段中,建立新的群組具有相同的項目guid和id屬性中所指定, Symbols一節。 您也可以使用現有的群組,或使用所提供的 [套件] 範本中,項目,如下列範例所示。

    <Group guid="guidButtonGroupCmdSet" id="MyMenuGroup" priority="0x0600">
      <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS"/>
    </Group>
    

    預設群組中,範例所示,會出現在 Visual Studio 工具功能表。

若要填入一組以供重複使用的按鈕

  1. 您可以將指令或功能表群組中使用群組定義中的指令或功能表上, 一層或築指令或功能表群組中使用 CommandPlacements一節。

    按鈕定義為按鈕 元素內 按鈕一節。 定義具有為其父控制項,您的群組的按鈕或使用按鈕所提供的 「 套件 」 範本,如下列範例所示。

    <Button guid="guidButtonGroupCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button">
      <Parent guid="guidButtonGroupCmdSet" id="MyMenuGroup" />
      <Icon guid="guidImages" id="bmpPic1" />
      <Strings>
        <CommandName>cmdidMyCommand</CommandName>
        <ButtonText>My Command name</ButtonText>
      </Strings>
    </Button>
    
  2. 如果按鈕必須顯示在一個以上的群組,建立項目,讓它在CommandPlacements一節。 設定guid和id屬性的 CommandPlacement 項目,以符合您想要的按鈕,,然後設定guid和id的其的目標群組,如下列範例所示的項目。

    <CommandPlacements>
      <CommandPlacement guid="guidButtonGroupCmdSet" id="cmdidMyCommand" priority="0x105">
        <Parent guid="guidButtonGroupCmdSet" id="MyMenuGroup" />
      </CommandPlacement>
    </CommandPlacements>
    
    注意事項注意事項

    值為Priority欄位會決定在新的命令群組中命令的位置。在設定的優先順序CommandPlacement項目會覆寫設定中的項目定義。具有較低的優先順序值的命令會顯示之前有較高的優先權值的命令。允許重複的優先權值,但不能保證有相同的優先權值的命令的相對位置,因為順序devenv setup命令會建立最終從登錄的介面可能不一致。

若要放在功能表上的可重複使用的一組按鈕

  • 建立中的項目CommandPlacements一節。 設定的 GUID 及識別碼CommandPlacement項目與您的群組,並將父項設定的 GUID 及識別碼的目標位置。 請注意命令群組可以包含一個以上的功能表上。 在父功能表可為您所建立的由所提供的其中一個Visual Studio (如述 ShellCmdDef.vsct 或 SharedCmdDef.vsct),或另一個 VSPackage 所述的其中之一。 父層級數目沒有限制,只要在父功能表最後連到Visual Studio或 VSPackage 會顯示快顯功能表。

    下列範例會將群組放在方案總管] 中右邊的另一個按鈕的工具列。

    <CommandPlacements>
      <CommandPlacement guid="guidButtonGroupCmdSet" id="MyMenuGroup" 
          priority="0x605">
        <Parent guid="guidSHLMainMenu" id="IDM_VS_MENU_TOOLS" />
      </CommandPlacement>
    </CommandPlacements>
    

請參閱

工作

How to: 建立和處理命令,在 VSPackages (C#)

其他資源

一般工作的命令、 功能表和工具列

Best Practices for Command Table Organization