码迷,mamicode.com
首页 > Web开发 > 详细

IWebBrowser隐藏滚动条

时间:2015-05-12 11:00:54      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

 

刚才在项目里看到一个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     //错误处理

 

IWebBrowser隐藏滚动条

标签:

原文地址:http://www.cnblogs.com/wanxianga/p/4496643.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!