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

所以百度之,谷歌之~

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

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

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

IWebBrowser隐藏滚动条的更多相关文章

  1. 实现CSS隐藏滚动条并可以滚动内容

    隐藏滚动条的同时还需要支持滚动,我们经常在前端开发中遇到这种情况,最容易想到的是加一个iscroll插件,但其实现在CSS也可以实现这个功能,我已经在很多地方使用了,下面一起看看这三种方法. 方法1: ...

  2. css隐藏滚动条

    xhtml中隐藏滚动条在用ie6浏览有框架的xhtml页面的时候,默认会水平和垂直滚动条会一起出现,这是ie6的一个bug,在firefox上是正常的,出现的原因是其对XHTML 1.0 transi ...

  3. HTML5 元素超出部分滚动, 并隐藏滚动条

    方法一, 利用 css 3 的新特性  -webkit-scrollbar, 但是这种方式不兼容 火狐 和 IE <!DOCTYPE html> <html> <head ...

  4. sencha touch 隐藏滚动条样式的几种方式

    如图,当滚动条显示时不是那么的好看   可以通过以下几种方式来隐藏滚动条,而又不影响滚动效果 1.通过css隐藏 /* 隐藏x方向滚动条 */ .x-scroll-bar-x.active { wid ...

  5. vue 隐藏滚动条

    element-ui隐藏组件scrollbar: <el-scrollbar style="height:100%"> </el-scrollbar> 真正 ...

  6. 前端福利之overflow-scrol 怎么隐藏滚动条(转)

    最近用vue写wap站的时候遇到了微信打开页面滚动条无法隐藏的问题. 对于隐藏滚动条,我们最常用的方法首先是: 1.使用以下CSS可以隐藏滚动条: .container::-webkit-scroll ...

  7. 纯css实现隐藏滚动条仍可以滚动

    移动端弹出层加了滚动条之后,滚动条一直在,有些不美观,overflow:hidden;虽然可以隐藏滚动条,但是不能滚动.需要实现隐藏滚动条但是仍可以滚动,js实现太麻烦,直接将滚动条隐藏会更好一些. ...

  8. CSS 实现隐藏滚动条同时又可以滚动(转)

    CSS 实现隐藏滚动条同时又可以滚动 移动端页面为了更接近原生的体验,是否可以隐藏滚动条,同时又保证页面可以滚动? 使用 overflow:hidden 隐藏滚动条,但存在的问题是:页面或元素失去了滚 ...

  9. 如何使用CSS隐藏滚动条并且兼容大部分浏览器

    隐藏滚动条,已经自己实测在浏览器Chrome, IE (6+), Firefox, Opera, Safari. 如下demo: Content 1 Content 1 Content 1 Conte ...

随机推荐

  1. 7.使用ProcessBuilder执行本地命令(转)

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.IO ...

  2. Java用Dijkstra算法实现地图两点的最短路径查询(Android版)

    地图上实现最短路径的查询,据我了解的,一般用Dijkstra算法和A*算法来实现.由于这是一个课程项目,时间比较急,而且自己不熟悉A*算法,所以参考网上的Dijkstra算法(http://blog. ...

  3. bootstrap 响应式布局 居中问题

    大家能够通过table来设置居中: display: table; width: auto; margin-left: auto; margin-right: auto;

  4. android开发利器--站在巨人肩膀上前行

    本文主要介绍有助于android开发的三方平台和站点. 一:开发阶段 1:SVN(一个开放源码的版本号控制系统) 团队开发没有server,代码管理就没那么方便了,推荐taocode阿里开源站点,方便 ...

  5. Java 处理json经常使用代码

    本project代码已上传至资源,如有须要,请自行下载. package com.michael; import static org.junit.Assert.assertEquals; impor ...

  6. 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)

    前言 本章将实现非常实用的功能——下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术 ...

  7. Web安全測试二步走

    Web安全測试时一个比較复杂的过程,软件測试人员能够在当中做一些简单的測试,例如以下: Web安全測试也应该遵循尽早測试的原则,在进行功能測试的时候(就应该运行以下的測试Checklist安全測试场景 ...

  8. Ghost Button制作教程及设计趋势分析

    概述:Ghost Button(虚拟按钮)是网页设计中一个非常实用的按钮样式,特别是图片背景中,有出色的效果.今天我们一起来研究Ghost Button的各种效果的制作方法,并对Ghost Butto ...

  9. java中关于如何运行jar格式程序的说明

    通常情况下,我们用打包工具如Eclipse的export工具制作的jar包是无法通过鼠标双击来运行的. 此时我们需要启动DOS窗体,在DOS窗体中输入java命令运行程序(前提是你的环境变量class ...

  10. CocoaPods 安装和使用

    CocoaPods的安装 >1. 打开终端, 输入 gem sources -remove https://rubygems.org/ >2. 再输入 gem sources -a htt ...