我已經有一個我創建的包,並且我想向Code Window
上下文菜單添加一個菜單。爲什麼不是我的vspackage的上下文菜單顯示
經過一番搜索,我發現了幾篇文章解釋瞭如何做到這一點。問題是,我無法得到它的工作....
這裏是我在vsct
文件聲明:
<Button guid="guidDALGeneratorPkgCmdSet" id="cmdidDataFlow" priority="0x0100" type="Button">
<Parent guid="guidSHLMainMenu" id="IDM_VS_CTXT_CODEWIN"/>
<CommandFlag>DynamicVisibility</CommandFlag>
<Strings>
<CommandName>cmdidDataFlow</CommandName>
<ButtonText>Show data flow</ButtonText>
</Strings>
</Button>
和符號:
<GuidSymbol name="guidDALGeneratorPkgCmdSet" value="{d3269a87-a721-49a5-800b-0464fbdfd313}">
<IDSymbol name="MyMenuGroup" value="0x1020" />
<IDSymbol name="cmdidDALGenerator" value="0x0101" />
<IDSymbol name="cmdidDataFlow" value="0x0102" />
</GuidSymbol>
,這裏是如何我加入我的Package
類我的菜單:
CommandID dataFlowCID = new CommandID(GuidList.guidDALGeneratorPkgCmdSet, (int)PkgCmdIDList.cmdidDataFlow);
OleMenuCommand dataFlowMenu = new OleMenuCommand(showDataFlow, dataFlowCID);
dataFlowMenu.BeforeQueryStatus += new EventHandler(dataFlowMenu_BeforeQueryStatus);
mcs.AddCommand(dataFlowMenu);
什麼我錯在這裏做什麼?我一定會錯過一些事情,因爲幾乎每一個樣品(等主題回答)建議在一個包中添加菜單的方式.....
我曾嘗試:
- 進行團體第一再加入我的菜單組中:沒有工作
- 檢查,如果我用正確的GUID(與this trick)
- 使用
IDG_VS_MENU_CONTEXTMENUS
代替IDM_VS_CTXT_CODEWIN
(看看這個帖子後:Using vsx how do you create a sub menu with commands?) - 給出相同父母爲我NU,實際工作到第二個菜單,仍然沒有顯示....
- 了很多關於我的問題,不成功的谷歌搜索...
此外,你可以看到我用的是BeforeQueryStatus
事件,但它從來沒有被解僱......
你曾經能夠解決找出您的問題。我面臨同樣的問題 –
對不起,我沒有......這是一個大項目的一小部分,所以我找到了另一種方法來完成我所需要的。你試過@Marcel建議的嗎? – ppetrov
是的,它在上下文菜單上創建一個按鈕,而不是在上下文菜單上的菜單。所以這沒有幫助。我的要求是在上下文菜單上創建一個菜單。 –