2013-11-02 31 views
8

ファイルアイテムVisual Studioソリューションエクスプローラを右クリックすると、メニューとサブメニューアイテムを追加するにはどうすればよいですか?Visual Studioプロジェクトアイテムノードにサブメニューを追加する

ソリューションエクスプローラでファイルを右クリックすると、次のようなメニューと3つのサブメニューが表示されます。

私は.vsctボタンを使用してみましたが、それは、コンテキストメニューに表示され、

enter image description here

答えて

25

オーサリングVSCTファイルをサブメニューを追加することができませんでしIAMのはややトリッキーです。あなたが必要とするものは、メニューとボタンの組み合わせです。まず、VSCTファイルのIDM_VS_CTXT_ITEMNODEグループを参照する必要があります。あなたは新しいメニューを作成し、そのグループに追加したより

<Group guid="guidCmdSet" id="grpIdMenuProjectItem" priority="0x0800"> 
    <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_ITEMNODE" /> 
</Group> 

...メニューに追加されます、別のグループが必要とされるサブメニュー項目については、

<Menu guid="guidCmdSet" id="sampleMenu" type="Menu" priority="0x1000"> 
    <Parent guid="guidCmdSet" id="grpIdMenuProjectItem" /> 
    <CommandFlag>IconAndText</CommandFlag> 
    <Strings> 
     <ButtonText>Sample Menu</ButtonText> 
     <CommandName>Sample Menu</CommandName> 
    </Strings> 
    </Menu> 

...

<Group guid="guidCmdSet" id="sampleMenuGroup" priority="0x1000"> 
    <Parent guid="guidCmdSet" id="sampleMenu"/> 
</Group> 

少なくとも、あなたはボタンを使用して、サブメニュー項目を定義し、サブメニューのグループにそれらを追加...

<Button guid="guidCmdSet" id="sampleMenuItem" priority="0x1000" type="Button"> 
    <Parent guid="guidCmdSet" id="sampleMenuGroup"/> 
    <CommandFlag>TextOnly</CommandFlag> 
    <Strings> 
     <ButtonText>Sample Menu Item 1</ButtonText> 
     <CommandName>sampleMenuItem1</CommandName> 
    </Strings> 
</Button> 

すべてのシンボルを定義することを忘れないでください。そうしないと、リソースはコンパイルされません。

<IDSymbol name="grpIdMenuProjectItem" value="0x1020"/> 
<IDSymbol name="sampleMenu" value="0x1021"/> 
<IDSymbol name="sampleMenuGroup" value="0x1022"/> 
<IDSymbol name="sampleMenuItem" value="0x1023"/> 

そして、これはあなたが得るものです...

enter image description here

+0

おかげMatze。これは –

+0

+1を処理し、メニューアクセスキーを定義するのに '&'を使用しました –

+0

[ドキュメント]タブのコンテキストメニューでコマンドを追加するにはどうすればいいですか? 「ピンタブ」があるメニュー。 – Lance

関連する問題