在Internet Explorer中,你可以增加或减少从视图菜单文字的大小,但在WebBrowser控件没有一个方法来做到这一点。相反,这个项目通过控制公开的文件IOleCommandTarget接口功能。调用IOleCommandTarget::Exec和与OLECMDID_ZOOM通过在0到4的范围值(其中0是最小的)来表示字体的理想规模。(google 翻译的~。~)
原本我一直以为这个控件的execommand可以用来修改字体大小的,找了好多都是关于VB和delphi的,在微软的上面找到了具体应用,(题外话:当你是在找不到中文资料的时候GOOGLE加英文表述可以达到更好的效果),我x,具体贴代码
LPDISPATCH pDisp = m_pBrowser->get_Document();
if(pDisp)
{
LPOLECOMMANDTARGET pCmdTarg = NULL;
pDisp->QueryInterface(IID_IOleCommandTarget, (void**)&pCmdTarg);
if(pCmdTarg)
{
COleVariant vaZoomFactor; // input argument
V_VT(&vaZoomFactor) = VT_I4;
V_I4(&vaZoomFactor) = fontSize; // 0 - 4
// Change the text size.
pCmdTarg->Exec(NULL,
OLECMDID_ZOOM,
OLECMDEXECOPT_DONTPROMPTUSER,
&vaZoomFactor,
NULL);
pCmdTarg->Release();
}
pDisp->Release();
}
浪费一早上还不如去微软官方看文档好55555555555555555555555555555555555555555555555555555555
摘录:http://msdn.microsoft.com/en-us/library/aa752044(v=vs.85).aspx#Chg_Font
有出新问题了:在win7大字体下125%显示还能修改,但是150%的话显示依旧不正常,纠结……