2010-04-15 63 views
5

我已經創建了以下vsct文件xml。使用vsx如何使用命令創建子菜單?

<?xml version="1.0" encoding="utf-8"?> 
<CommandTable xmlns="http://schemas.microsoft.com/VisualStudio/2005-10-18/CommandTable" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <Extern href="stdidcmd.h"/> 
    <Extern href="vsshlids.h"/> 
    <Extern href="msobtnid.h"/> 
    <Commands package="guidMyVSXCommandsPkg"> 
     <Menus> 
      <Menu guid="guidMyVSXCommandsCmdSet" id="TopLevelMenu" priority="0x100" type="Menu"> 
       <Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/> 
       <Strings> 
        <MenuText>Work???</MenuText> 
        <ButtonText>FigureMain</ButtonText> 
        <CommandName>TryMainMenu</CommandName> 
       </Strings> 
      </Menu> 
     </Menus> 
     <Groups> 
      <Group guid="guidMyVSXCommandsCmdSet" id="TopLevelMenuGroup" priority="0x0600"> 
       <Parent guid="guidMyVSXCommandsCmdSet" id="TopLevelMenu"/> 
      </Group> 
     </Groups> 
     <Buttons> 
      <Button guid="guidMyVSXCommandsCmdSet" id="cmdidMyCommand" priority="0x0100" type="Button"> 
       <Parent guid="guidMyVSXCommandsCmdSet" id="TopLevelMenuGroup" /> 
       <Icon guid="guidImages" id="bmpPic1" /> 
       <Strings> 
        <CommandName>cmdidMyCommand</CommandName> 
        <ButtonText>DO SOMETHING REAL COOL!!!!!!!!</ButtonText> 
       </Strings> 
      </Button> 
     </Buttons> 
     <Bitmaps> 
      <Bitmap guid="guidImages" href="Resources\Images_32bit.bmp" usedList="bmpPic1, bmpPic2, bmpPicSearch, bmpPicX, bmpPicArrows"/> 
     </Bitmaps> 
    </Commands> 
    <Symbols> 
     <!-- This is the package guid. --> 
     <GuidSymbol name="guidMyVSXCommandsPkg" value="{70e6574c-ebed-4856-b78b-0927966cc800}" /> 

     <!-- This is the guid used to group the menu commands together --> 
     <GuidSymbol name="guidMyVSXCommandsCmdSet" value="{301c910a-65eb-42c4-bf0f-bc5aaac737f1}"> 
      <IDSymbol name="TopLevelMenu" value="0x0100" /> 
      <IDSymbol name="TopLevelMenuGroup" value="0x0200" /> 
      <IDSymbol name="cmdidMyCommand" value="0x0300" /> 
     </GuidSymbol> 
     <GuidSymbol name="guidImages" value="{1997bf57-349c-434a-ad64-32a3a65e35f3}" > 
      <IDSymbol name="bmpPic1" value="1" /> 
      <IDSymbol name="bmpPic2" value="2" /> 
      <IDSymbol name="bmpPicSearch" value="3" /> 
      <IDSymbol name="bmpPicX" value="4" /> 
      <IDSymbol name="bmpPicArrows" value="5" /> 
     </GuidSymbol> 
    </Symbols> 

</CommandTable> 

什麼最後的結果是我想看到我的上下文菜單中有

工作的一個選項??? - >做一些真正的冷酷!!!!!!!!

回答

13

您的菜單應該將其父設置爲而不是頂級上下文菜單。例如,嘗試改變這一行:

<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/> 

這一行:

<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_PROJECT_START"/> 

您現在應該看到「TryMainMenu」旁顯示的項目節點的上下文菜單中的「調試」。如果您希望菜單存在於頂級上下文菜單中的自己的組中,則應該使用父IDM_VS_CTXT_PROJNODE定義一個新組,並將菜單的父項設置爲該組。

或者,您也可以通過查看SharedCmdPlace.vsct並用以下母公司調查組元素髮現什麼其他現有組是(除了IDG_VS_CTXT_PROJECT_START):

<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_PROJNODE"/> 
+0

我想給你一個+1尖端用於查看SharedCmdPlace.vsct對於確定如何構建我的按鈕非常有幫助。 – 2010-04-16 20:55:12