这是对IE浏览器简单封装,主要用来显示一些简单的 HTIM 页面。

显示页面
网页
mCtrlHtml1.GotoUrl("http://www.baidu.com")
本地文件
mCtrlHtml1.GotoUrl("file:///c:/文件.html")
执行页面中的JS函数
mCtrlHtml1.CallScriptFunc(JS函数名,参数1,参数2,.... 可以没参数,也可以最多4个参数,传给JS函数
修改网页中的代码
没有提供任何方法可以设置全部网页,只能根据ID设置部分
Dim bb As String
bb = "<html>" & vbCrLf & _
" <head>" & vbCrLf & _
" <title>网页标题 </title>" & vbCrLf & _
" <body id='zzz'>" & vbCrLf & _
" 这是一个网页" & vbCrLf & _
" </body>" & vbCrLf & _
"</html>"
SaveFileStr App.Path & "1.htm", bb
mCtrlHtml1.GotoUrl "file:///" & App.Path & "1.htm"
mCtrlHtml1.SetTagContents "zzz","<a href='#2'>设置代码</a>"
全内存网页代码设置方法
上面代码需要通过文件操作,有点不方便,下面是全内存操作
- 设置空白网页
mCtrlHtml1.GotoUrl ("about:<body id=""myContent""></body>")会在IE控件内产生网页源码:
<HTML><body id="myContent"></body></HTML> - 设置网页内容
mCtrlHtml1.SetTagContents("myContent", "<br><center><font size=""9"">勇芳软件工作室<br></font><br><a href=""soft.htm"">点击打开本地文件例题</a>" _
"<br><br><a href=""http://vfbdev.yfvb.com"">点击打开网址例题</a>" _
"<br><br><a href=""http://vfbdev.yfvb.com"" target=""_blank"">点击弹出新窗口例题</a></center>")
这样就是网页<body id=""myContent"">插入网页代码</body> 中间插入任意网页代码。
事件:MC_HN_BeforeNavigate 打开新URL
Function Form1_mCtrlHtml1_MC_HN_BeforeNavigate(hWndForm As hWnd, hWndControl As hWnd, Url As Const WString)As Boolean
Dim nurl As String =Url
Print "新URL",nurl
Function = False '返回 False 可以打开这个URL, 返回 True 就不允许打开这个网址
End Function
当你点击链接,可以在这个事件中决定是否打开这个URL,实现网页交互,就是网页是前端,VFB写后端代码的重要事件。
你可以在此设置新的网页内容,然后返回 True ,实现全内存交互。
事件:MC_HN_NewWindow 弹出新窗口
当链接中有 _blank 点击后会弹出新IE窗口
<a href=""http://vfbdev.yfvb.com"" target=""_blank"">点击弹出新窗口例题</a>
你可以在此事件中阻止弹窗,或写入新网页内容,实现 VFB 后端处理效果。
Function Form1_mCtrlHtml1_MC_HN_NewWindow(hWndForm As hWnd, hWndControl As hWnd,Url As Const WString)As Boolean
Dim nurl As String =Url
Print "新窗口",nurl
Function = True '返回 False 禁用弹出新窗口 返回 True 允许弹窗
End Function
评论一下?