easypower 发表于 2005-1-28 13:41:00

[原创]程序添加菜單

void CreateMenus()<BR>{<BR>        LPDISPATCH pDisp = NULL;<BR>        pDisp = acedGetAcadWinApp()-&gt;GetIDispatch(TRUE);<BR>        if (pDisp == NULL)<BR>                return;


        IAcadApplication *acadApp = NULL;<BR>        HRESULT hr = S_OK;<BR>        hr = pDisp-&gt;QueryInterface(IID_IAcadApplication, (LPVOID*)&amp;acadApp);<BR>        if (FAILED(hr))<BR>        {<BR>                acadApp-&gt;Release();<BR>                return;<BR>        }


        IAcadMenuGroups *pMenuGroups = NULL;<BR>        acadApp-&gt;get_MenuGroups(&amp;pMenuGroups);<BR>        _bstr_t myBstrWrapper("XXX.mns");<BR>        BSTR bsName = (BSTR)myBstrWrapper;<BR>        IAcadMenuGroup *pMenuGroup;<BR>        VARIANT index;<BR>        VariantInit(&amp;index);<BR>        V_VT(&amp;index) = VT_I4;<BR>        V_I4(&amp;index) = 0;<BR>        pMenuGroups-&gt;Load(bsName,index,&amp;pMenuGroup);<BR>        IAcadPopupMenus *pMenus;<BR>        pMenuGroup-&gt;get_Menus(&amp;pMenus);<BR>        VariantInit(&amp;index);<BR>        V_VT(&amp;index) = VT_I4;<BR>        V_I4(&amp;index) = 2;<BR>        pMenus-&gt;InsertMenuInMenuBar(L"XXX",index);<BR>        pMenus-&gt;Release();<BR>        pMenuGroup-&gt;Release();<BR>        pMenuGroups-&gt;Release();<BR>        acadApp-&gt;Release();<BR>}

梦幻神话 发表于 2005-1-28 15:29:00

谢谢版主共享,我正在研究这个方面的问题,谢谢~
页: [1]
查看完整版本: [原创]程序添加菜單