如何动态的创建webbrowser

tyues 2004-08-14 10:46:10
我想动态的在程序运行过程中创建webbrowser
可就是没有办法
请诸位帮我忙
...全文
615 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
hz932 2004-10-15
  • 打赏
  • 举报
回复
同意.
不过在Windows下有一个偷懒的办法,就是直接用Shell:

Shell "explorer ""http://hghghg.lqiang.com"""

因为Windows的explorer程序与IE是关联的.但这样做的缺点就是不能方便地控制webbrowser,如果只是要打开网页即可的话(如打开主页),不妨试试.
GGL123 2004-10-15
  • 打赏
  • 举报
回复
那就按提示改一下就行了。
my99 2004-10-15
  • 打赏
  • 举报
回复
大家注意了,楼上说的,我基本都同意,但还有一个问题,有兴趣的一起研究一下!

楼上各位同志说的方法,要求是添加了WebBrowser控件,并且在程序中加过一个以上的webBrowser控件,才会有效,
如果在设计阶段,引用了但没有加过这个控件,会提示:
实时错误'50153'
"SHELL.EXPLORER.2" 不能被加入因为它被引用但在工程中示被任何项目使用。
请把工程中的'Remove information about unused ActiveX Controls' 项目取消选定,来改正此错误。



jin0706 2004-08-14
  • 打赏
  • 举报
回复
同意楼上老大!
northwolves 2004-08-14
  • 打赏
  • 举报
回复
Option Explicit
Private WithEvents web1 As WebBrowser
Private Sub Command1_Click()
Set web1 = Me.Controls.Add("SHELL.EXPLORER.2", "web1", Me)
web1.Visible = True
web1.Move 0, 0, 1000, 1000
web1.Navigate "http://community.csdn.net/Expert/topic/3273/3273662.xml?temp=.6609766", 0
End Sub
rainstormmaster 2004-08-14
  • 打赏
  • 举报
回复
//为什么我执行程序后每次在Set web1 = Me.Controls.Add("SHELL.EXPLORER.2", "web1", Me)
提示类型不匹配,求教!

不同的系统上,控件的progid可能不同,你自己查一下注册表
northwolves 2004-08-14
  • 打赏
  • 举报
回复


呵呵,多谢暴风雨。今天才有点明白许可证,惭愧。

Dim WithEvents web1 As VBControlExtender
Dim WithEvents tvw1 As VBControlExtender

Private Sub Command1_Click()'add a webbrowser
'Licenses.Add "SHELL.EXPLORER.2" '出错
Set web1 = Me.Controls.Add("SHELL.EXPLORER.2", "web1", Me)
web1.Visible = True
web1.Move 0, 0, 4000, 4000
web1.object.Navigate "http://community.csdn.net/Expert/topic/3273/3273662.xml?temp=.6609766", 0
End Sub


Private Sub Command2_Click()'add a treeview
Licenses.Add "MSComctlLib.TreeCtrl"
Set tvw1 = Controls.Add("MSComctlLib.TreeCtrl", "tvw1", Me)
tvw1.Move 1, 1, 4000, 4000
tvw1.object.linestyle = 1
For i = 0 To 10
tvw1.object.nodes.Add , , Chr(i + 65), Chr(i + 65)
Next i
tvw1.Visible = True
End Sub
rainstormmaster 2004-08-14
  • 打赏
  • 举报
回复
//我曾搜过注册表,没找见。另外,WEBBROWSER 的Licenses 怎么处理?

你这样:
Private WithEvents web1 As WebBrowser
的话,就不用处理Licenses

你定义为As object的话,才需要处理Licenses
online 2004-08-14
  • 打赏
  • 举报
回复
WEBBROWSER 的Licenses 怎么处理?
好像不需要,没有提示
northwolves 2004-08-14
  • 打赏
  • 举报
回复
TO rainstormmaster(暴风雨 v2.0) :
我曾搜过注册表,没找见。另外,WEBBROWSER 的Licenses 怎么处理?
online 2004-08-14
  • 打赏
  • 举报
回复
SHELL.EXPLORER.2直接从注册表中找很困难的
我只找到了inet控件的
Option Explicit
'改了一下
Private WithEvents web1 As VBControlExtender
Private Sub Command1_Click()
Set web1 = Me.Controls.Add("SHELL.EXPLORER.2", "web1", Me)
web1.Visible = True
web1.Move 0, 0, 1000, 1000
web1.Navigate "http://community.csdn.net/Expert/topic/3273/3273662.xml?temp=.6609766", 0
End Sub
northwolves 2004-08-14
  • 打赏
  • 举报
回复
to tyues(老周):

不会吧。
northwolves 2004-08-14
  • 打赏
  • 举报
回复
online(龙卷风V2.0--再战江湖) :

其实我也不知道WEBBROWSER 的PROGID,所以先在对象浏览器中找到WEBBROWSER 的库:Library SHDocVwCtl,有错误提示应为SHELL.EXPLORER.2:


Option Explicit
Private WithEvents web1 As WebBrowser
Private Sub Command1_Click()
Set web1 = Me.Controls.Add("SHDocVwCtl.webbrowser", "web1", Me)
'Set web1 = Me.Controls.Add("SHELL.EXPLORER.2", "web1", Me)
web1.Visible = True
web1.Move 0, 0, 1000, 1000
web1.Navigate "http://community.csdn.net/Expert/topic/3273/3273662.xml?temp=.6609766", 0
End Sub
rainstormmaster 2004-08-14
  • 打赏
  • 举报
回复
//这个SHELL.EXPLORER.2你怎么找到的??

注册表
tyues 2004-08-14
  • 打赏
  • 举报
回复
为什么我执行程序后每次在Set web1 = Me.Controls.Add("SHELL.EXPLORER.2", "web1", Me)
提示类型不匹配,求教!
online 2004-08-14
  • 打赏
  • 举报
回复
老狼:northwolves(狼行天下)

这个SHELL.EXPLORER.2你怎么找到的??

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧