[原创]程序添加菜單
void CreateMenus()<BR>{<BR> LPDISPATCH pDisp = NULL;<BR> pDisp = acedGetAcadWinApp()->GetIDispatch(TRUE);<BR> if (pDisp == NULL)<BR> return;IAcadApplication *acadApp = NULL;<BR> HRESULT hr = S_OK;<BR> hr = pDisp->QueryInterface(IID_IAcadApplication, (LPVOID*)&acadApp);<BR> if (FAILED(hr))<BR> {<BR> acadApp->Release();<BR> return;<BR> }
IAcadMenuGroups *pMenuGroups = NULL;<BR> acadApp->get_MenuGroups(&pMenuGroups);<BR> _bstr_t myBstrWrapper("XXX.mns");<BR> BSTR bsName = (BSTR)myBstrWrapper;<BR> IAcadMenuGroup *pMenuGroup;<BR> VARIANT index;<BR> VariantInit(&index);<BR> V_VT(&index) = VT_I4;<BR> V_I4(&index) = 0;<BR> pMenuGroups->Load(bsName,index,&pMenuGroup);<BR> IAcadPopupMenus *pMenus;<BR> pMenuGroup->get_Menus(&pMenus);<BR> VariantInit(&index);<BR> V_VT(&index) = VT_I4;<BR> V_I4(&index) = 2;<BR> pMenus->InsertMenuInMenuBar(L"XXX",index);<BR> pMenus->Release();<BR> pMenuGroup->Release();<BR> pMenuGroups->Release();<BR> acadApp->Release();<BR>} 谢谢版主共享,我正在研究这个方面的问题,谢谢~
页:
[1]