2010-04-15 6 views
5

Ich habe die folgende vsct-Datei xml erstellt.Verwenden von vsx Wie erstellen Sie ein Untermenü mit Befehlen?

<?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> 

Was das Endergebnis ist, will ich sehen, wenn ich das Kontextmenü eine Option von

Arbeit haben ??? -> ETWAS REAL COOL !!!!!!!!

Antwort

13

Ihr Menü sollte als übergeordnetes Element eine Gruppe anstelle des übergeordneten Kontextmenüs haben. Zum Beispiel, versuchen Sie diese Zeile zu ändern:

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

zu dieser Zeile:

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

Sie sollen nun neben „Debug“ auf den Projektknoten über das Kontextmenü finden Sie unter „TryMainMenu“ angezeigt. Wenn Sie möchten, dass Ihr Menü in einer eigenen Gruppe im Kontextmenü der obersten Ebene vorhanden ist, sollten Sie eine neue Gruppe mit dem übergeordneten IDM_VS_CTXT_PROJNODE definieren und das übergeordnete Element des Menüs auf dieses setzen.

Alternativ können Sie herausfinden, was die anderen vorhandenen Gruppen sind (neben IDG_VS_CTXT_PROJECT_START) um SharedCmdPlace.vsct suchen und Gruppenelemente mit der folgenden Mutter finden:

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

Ich möchte Ihnen eine andere +1 die Spitze Das Suchen in SharedCmdPlace.vsct ist EXTREM hilfreich, um zu bestimmen, wie ich meine Buttons strukturiere. –

Verwandte Themen