4

このウォークスルーの説明に従って、ツールウィンドウのツールバーを定義しました。

ツールバーに新しいボタンを追加し、それらをパッケージ内のコードに接続することは問題なく、正常に機能します(したがって、単純なボタンを追加する方法に関する情報を探していません)。SplitDropDownやなど、他の種類のボタンがあることを確認しましたMenuButton。どちらも私の要件を完全に満たします。しかし、サブメニューを正しい方法で定義する方法についての情報を見つけることができず、すべての実験が失敗しました。

これは私のボタンの定義です:

<Button guid="guidVsCmdSet" id="cmdIdSplitDowndown" priority="0x106" type="SplitDropDown">
  <Parent guid="guidVsCmdSet" id="VsToolbarGroup" />
  <Icon guid="guidImages" id="bmpPic2" />
  <CommandFlag>IconAndText</CommandFlag>
  <Strings>
    <CommandName>cmdIdSplitDropdown</CommandName>
    <ButtonText>Goto Next</ButtonText>
  </Strings>
</Button>

SplitDropDown事前定義された/静的なサブアイテムを持つボタンを追加したいと思います。ボタンの外観は、VisualStudioの「後方に移動」ボタンのように見えると思います。それが私が達成しようとしていることです。

SplitDropDownサブメニューを持つボタンの定義がどのようになるか知っている人はいますか?

4

2 に答える 2

7

SplitDropDownandタイプは Visual Studio IDE でサポートされなくなったようですMenuButton(少なくとも v11 ですが、以前のバージョンではテストしていません。間違っているかもしれませんが、これらの種類のボタンをツールバーに入れることができませんでした)。 . 代わりに、Menuor型の Menu をMenuController使用できます。タイプMenuは deprecated のように動作しMenuButton(ボタンの高さが小さいために外観がまったく同じでなくても)、タイプMenuControllerは deprecated のように動作しSplitDropDownます。

したがって、分割ドロップダウンを取得するために、次の Menu 宣言を VSCT ファイルに追加しました。

<Menu guid="guidVsCmdSet" id="menuIdSubMenu" type="MenuController" priority="0x0001" toolbarPriorityInBand="0x0001">
    <Parent guid="guidVsCmdSet" id="VsToolbarGroup" />
    <CommandFlag>IconAndText</CommandFlag>
    <CommandFlag>NotInTBList</CommandFlag>
    <Strings>
        <ButtonText>My Button</ButtonText>
        <CommandName>My Button</CommandName>
    </Strings>
</Menu>

ドロップダウン コマンド用の新しいグループを作成しました。グループの親がメニ​​ューに設定されます。

<Group guid="guidVsCmdSet" id="VsSubMenuGroup" priority="0x0001">
    <Parent guid="guidVsCmdSet" id="menuIdSubMenu" />
</Group>

最後に、メニュー項目として表示される通常のボタンをそのグループに追加できます。

<Button guid="guidVsCmdSet" id="cmdIdSubMenuItem1" priority="0x0001" type="Button">
    <Parent guid="guidVsCmdSet" id="VsSubMenuGroup" />
    <CommandFlag>TextOnly</CommandFlag>
    <Strings>
        <CommandName>cmdIdSubMenuItem1</CommandName>
        <ButtonText>Members</ButtonText>
    </Strings>
</Button>
于 2013-01-14T10:15:29.313 に答える