IWebBrowser隐藏滚动条

 

刚才在项目里看到一个IWebBrowser2,竟然需要通过MoveWindow的方式把滚动条遮挡,如果要缩小IWebBrowser2控件的显示大小呢?这种方法至少我用不习惯,起码也得从源头解决这样的问题吧!

所以百度之,谷歌之~

我的项目使用的是WTL/ATL,所以用WTL/ATL的方式写了一个隐藏滚动条的实现、勿喷~~~

IWebBrowser2的定义和初始化,我就不用说了,这里直接在NavigateComplete里写的,

 1 /*
 2 * CComPtr<IWebBrowser2> m_spWebBrowser;
 3 */
 4 
 5 
 6 /*
 7 * function: onNavigateComplete
 8 * param1: IDispacth *pDisp(LPDISPATCH)
 9 * param2: VARIANT *URL
10 * SINK_ENTRY(DIID_DWebBrowserEvents2, DISPID_NAVIGATECOMPLETE2, OnNavigateComplete)
11 */
12 if (pDisp == m_spWebBrowser && URL != NULL)
13     {
14         CComQIPtr<IHTMLDocument2> spHTMLDocument;
15         CComPtr<IDispatch> spDispDoc;
16         HRESULT hr = m_spWebBrowser->get_Document(&spDispDoc);
17         if (FAILED(hr) || !spDispDoc)
18         {
19             goto end;
20         }
21         hr = spDispDoc->QueryInterface(&spHTMLDocument);
22         if (FAILED(hr) || !spHTMLDocument)
23         {
24             goto end;
25         }
26         CComQIPtr<IHTMLElement> spElement;
27         CComQIPtr<IHTMLBodyElement> spBodyElement;
28         
29         if(SUCCEEDED(spHTMLDocument->get_body(&spElement)))
30         {
31             if (SUCCEEDED(spElement->QueryInterface(IID_IHTMLBodyElement, (void **)&spBodyElement)))
32             {
33                 spBodyElement->put_scroll(L"no");
34             }
35             CComQIPtr<IHTMLStyle> spHTMLStyle;
36             spElement->get_style(&spHTMLStyle);
37             if (spHTMLStyle != NULL)
38             {
39                 spHTMLStyle->put_overflow(L"hidden");
40                 spHTMLStyle->put_border(L"none");
41                 //spHTMLStyle->Release();
42             }
43             //spElement->Release();
44         }
45     }
46 end:
47     //错误处理

 

转载于:https://www.cnblogs.com/wanxianga/p/4496643.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值