Visual Studio ソリューション エクスプローラーでファイル アイテムを右クリックしたときに、メニューとサブ メニュー アイテムを追加するにはどうすればよいですか?
下の図のように、ソリューション エクスプローラーでファイルを右クリックすると、1 つのメニューと 3 つのサブ メニュー項目が表示されます。
.vsct ボタンを使用してみましたが、コンテキスト メニューに表示され、サブ メニューを追加できません。
Visual Studio ソリューション エクスプローラーでファイル アイテムを右クリックしたときに、メニューとサブ メニュー アイテムを追加するにはどうすればよいですか?
下の図のように、ソリューション エクスプローラーでファイルを右クリックすると、1 つのメニューと 3 つのサブ メニュー項目が表示されます。
.vsct ボタンを使用してみましたが、コンテキスト メニューに表示され、サブ メニューを追加できません。
ファイルのオーサリングVSCT
はややトリッキーです。必要なのは、メニューとボタンの組み合わせです。まず、IDM_VS_CTXT_ITEMNODE
VSCT ファイルでグループを参照する必要があります。
<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"/>
そして、これがあなたが得るものです...