2013-11-02 113 views
8

如何在右键单击文件项目Visual Studio解决方案资源管理器时添加菜单和子菜单项?将SubMenu添加到Visual Studio项目项目节点

我有一个菜单和三个子菜单项,当我右键点击解决方案资源管理器中的文件时,将显示如下图所示。

我尝试使用.vsct按钮,但它会显示上下文菜单,荫无法添加子菜单

enter image description here

回答

25

创作VSCT文件是有点棘手;你需要的是菜单和按钮的组合。首先,您需要在您的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

相关问题