16,471
社区成员
发帖
与我相关
我的任务
分享
HRESULT hr = S_OK;
CComPtr<IDispatch> pDisp;
CComQIPtr<Commands> pCommands;
CComQIPtr<_CommandBars> pCommandBars;
CComPtr<CommandBarControl> pCommandBarControl;
CComPtr<Command> pCreatedCommand;
CComPtr<CommandBar> pMenuBarCommandBar;
CComPtr<CommandBarControls> pMenuBarControls;
CComPtr<CommandBarControl> pToolsCommandBarControl;
CComQIPtr<CommandBar> pToolsCommandBar;
CComQIPtr<CommandBarPopup> pToolsPopup;
CComPtr<CommandBarControls> pToolControls;
CComPtr<CommandBarControl> pToolControl;
m_pDTE->get_CommandBars(&pDisp);
pCommandBars = pDisp;
//取到菜单
pCommandBars->get_Item(CComVariant(L"MenuBar"), &pMenuBarCommandBar);
pMenuBarCommandBar->get_Controls(&pMenuBarControls);
//取到工具的位置
pMenuBarControls->get_Item(CComVariant(L"Tools"), &pToolsCommandBarControl);// 汉化是 “工具”
pToolsPopup = pToolsCommandBarControl;
pToolsPopup->get_CommandBar(&pToolsCommandBar);
//取到工具下面的控件列表指针
pToolsCommandBar->get_Controls(&pToolControls);
//我要在pToolControls里面增加一个菜单选项
CComVariant vType(10);
CComVariant vId(2);
CComVariant vParmeter(VARIANT_FALSE);
CComVariant vBefore(1);
CComVariant vTemp(VARIANT_TRUE);
//上面的参数怎么设置啊,我看msdn没有c#的例子
pToolControls->Add(vType, vId, vParmeter, vBefore, vTemp, &pToolControl);