HRESULT ShowShellDocViewMenu(LPDISPATCH lpDocDisp, POINT pt, UINT nCmdID)
...{
HRESULT hr = S_FALSE;
IOleCommandTarget *pct;
if ( lpDocDisp && SUCCEEDED(lpDocDisp->QueryInterface(IID_IOleCommandTarget, (void **)&pct)))
...{
try
...{
CComVariant vtIn;
vtIn.vt = VT_I4;
vtIn.lVal = MAKELONG(pt.x, pt.y);
CComVariant vtOut;
hr = pct->Exec(&CGID_ShellDocView, nCmdID, OLECMDEXECOPT_DONTPROMPTUSER, &vtIn, &vtOut);
}
catch (...) ...{
}
pct->Release();
}
return hr;
}
HRESULT ShowMimeSetMenu(LPDISPATCH lpDocDisp, POINT pt)
...{
return ShowShellDocViewMenu(lpDocDisp, pt, SHDVID_SHOWMIMECSETMENU);
}
HRESULT ShowFontSizeMenu(LPDISPATCH lpDocDisp, POINT pt)
...{
return ShowShellDocViewMenu(lpDocDisp, pt, SHDVID_SHOWFONTSIZEMENU);
}
------解决方案--------------------------------------------------------
路过