关于VB调用WebBrowser控件不显示滚动条的多个解决方案

ggp 程序 2013-03-06 497 次浏览

用过VB调用WebBrowser控件显示网页的人都知道,在显示后,关于竖向滚动条都一直存在,而横向滚动条是自动随着页面显示而是否显示的。所以我们想办法把竖向滚动条禁止显示。

方法很多个,可能有的方法适合你,有的不适合你。自己看着办哦。
方法1:最简单的方法。
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
WebBrowser1.Document.body.Scroll = “no”
End Sub
是指在网页显示完后,控件内部显示内容的网页主题中滚动条不显示。
方法2:稍微复杂些。
VB引用里面添加“Microsoft HTML Object Library”
然后写一个函数
’//设置Web控件的滚动条隐藏
Private Function SetNoScrollFunc(tmpWebBrowser As WebBrowser)
Dim doc As New HTMLDocument
Set doc = tmpWebBrowser.Document

Dim win As New HTMLWindow2
Set win = doc.parentWindow

Call win.execScript(“;document.body.style.overflow=’hidden’;”, “javascript”)
End Function

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
SetNoScroll Me.WebBrowser1
End Sub

利用控件内部显示的文档以及窗口的属性,执行Java脚本进行不显示滚动条。

方法3:很复杂。

通过API函数得到显示完后,控件里面的滚动条句柄,然后发送消息,让滚动条消失。这个方法,我还没有测试过。呵呵,这个问题就留给大家一起做了。

回顶部