C++关于webbrowser的字体修改

来源:互联网 发布:linux dhcp配置文件 编辑:程序博客网 时间:2024/06/05 00:31

在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%的话显示依旧不正常,纠结……

 

原创粉丝点击