WEB开发网
开发学院软件开发VB 自己的IE——用VB制作浏览器 阅读

自己的IE——用VB制作浏览器

 2006-02-27 21:13:09 来源:WEB开发网   
核心提示:程序的主角是一个ActiveX控件:WebBrowser,当然,自己的IE——用VB制作浏览器,缺省状态下VB的工具箱中并没有它,我们得手工加入,用来显示下载进度(StatusBar控件和ProgressBar控件是ActiveX控件MicrosoftWindowsCommonControls5.0的成员,加入工具箱的
程序的主角是一个ActiveX控件:WebBrowser。当然,缺省状态下VB的工具箱中并没有它,我们得手工加入,方法是:右击工具箱,在出现的快捷菜单中选择“部件...”,确保在弹出的对话框中选中“控件”标签,找到MicrosoftInternetControls,在它前面的小框中打钩,然后确定。此时你会发现工具箱中多了两个小图标,其中,地球图标代表的控件正是我们需要的WebBrowser。
  由于许多人对WebBrowser控件不是很熟悉,VB的帮助中也没有有关它的内容(反正我没有找到),因此有必要介绍一下它的属性、方法和事件,限于篇幅,我们只涉及程序中用到的:
  属性:LocationURL返回控件显示WEB页面的URL。
  方法:Navigate转移到指定的URL或打开指定HTML文件。
  事件:1.DownloadBegin下载操作开时触发。
  2.DownloadComplete下载操作完成、终止或失败时触发。
  3.PRogressChangeWebBrowser控件跟踪下载操作的过程,并定期触发此事件。其语法为:SubWebBrowser_ProgressChange(ByValProgressAsLong,ByValProgressMaxAsLong)。Progress变元是当前已下载的数据总量,ProgressMax变元是将要下载的数据总量。
  4.TitleChange当前文档标题改变时触发
  除了WebBrowser控件外,程序还需要一个Label控件:Label1;一个ComboBox控件:
combo1,用来显示URL地址;一个StatusBar控件:StatusBar1;一个ProgressBar控件:
ProgressBar1,用来显示下载进度(StatusBar控件和ProgressBar控件是ActiveX控件MicrosoftWindowsCommonControls5.0的成员,加入工具箱的方法同WebBrowser控件),这些控件的属性值都用缺省值。
  以下是程序清单:
  OptionExplicit

  PrivateSubForm_Load()
  Me.Caption=“MyExplorer”
  Label1.Caption=“URL”
  Combo1.Text=“”
  Combo1.Top=Label1.Height
  Combo1.Left=0
  WebBrowser1.Top=Combo1.Top+Combo1.Height
  WebBrowser1.Left=0
  Form_Resize
  StatusBar1.Style=sbrSimple
  ProgressBar1.ZOrder
  EndSub

  PrivateSubForm_Resize()
  OnErrorGoToa
  Combo1.Width=Form1.Width-100
  WebBrowser1.Width=Combo1.Width
  WebBrowser1.Height=Form1.Height-Combo1.Height-1000
  ProgressBar1.Top=Me.Height-StatusBar1.Height-330
  ProgressBar1.Left=0.25*StatusBar1.Width
  ProgressBar1.Width=0.75*Me.Width-250
  a:
  EndSub

  PrivateSubCombo1_Click()
  `转到指定网址
  WebBrowser1.NavigateCombo1.Text
  EndSub

  PrivateSubCombo1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
  DimiAsLong
  DimexistedAsBoolean
  IfKeyCode=13Then
  IfLeft(Combo1.Text,7)<>“http://”Then
  Combo1.Text=“http://”+Combo1.Text
  EndIf
  WebBrowser1.NavigateCombo1.Text
  Fori=0ToCombo1.ListCount-1
  IfCombo1.List(i)=Combo1.TextThen
  existed=True
  ExitFor
  Else
  existed=False
  EndIf
  Next
  IfNotexistedThen
  Combo1.AddItem(Combo1.Text)
  EndIf
  EndIf
  EndSub

  PrivateSubWebBrowser1_DownloadBegin()
  `下载开始时状态栏显示“NowLinking...”
  StatusBar1.SimpleText=“NowLinking...”
  EndSub

  PrivateSubWebBrowser1_DownloadComplete()
  `下载完成时状态栏显示“LinkFinished”
  StatusBar1.SimpleText=“LinkFinished”
  ProgressBar1.Value=0
  EndSub

  PrivateSubWebBrowser1_ProgressChange(ByValProgressAsLong,
ByValProgressMaxAsLong)
  `下载进行时进度条变化
  IfProgressMax=0ThenExitSub
  ProgressBar1.Max=ProgressMax
  IfProgress<>-1AndProgress<=ProgressMaxThen
  ProgressBar1.Value=Progress
  EndIf
  EndSub

  PrivateSubWebBrowser1_TitleChange(ByValTextAsString)
  Combo1.Text=WebBrowser1.LocationURL
  EndSub->

Tags:自己 IE VB

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接