打印本文 打印本文 关闭窗口 关闭窗口
给自己的程序增加网页浏览功能
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2220  更新时间:2009/4/23 16:39:44  文章录入:mintao  责任编辑:mintao
ck

        Case "History"

''''            If Button.Value = tbrPressed Then

''''                Me.tbToolBar.Buttons("HtmlClass").Value = tbrUnpressed

''''                Me.tbToolBar.Buttons("Search").Value = tbrUnpressed

''''

''''                m_blnIsSplitter = True

''''                Me.UCtlHistroy1.Visible = True

''''                Me.UCtlClassUrl1.Visible = False

''''                Me.UCtlHistroy1.BuildTree (0)

''''            Else

''''                m_blnIsSplitter = False

''''                Me.UCtlHistroy1.Visible = False

''''                Me.UCtlClassUrl1.Visible = False

''''                Me.UCtlHistroy1.BuildTree (0)

''''            End If

''''            Call ResizeControls(m_blnIsSplitter, Me.imgSplitter.Left)

''''

            Call mnuManHistory_Click

           

        Case "PrintOut"

 

            brwWebBrowser.SetFocus

            On Error Resume Next

            brwWebBrowser.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT ‘打印

           

           

        Case "Status"

''''           m_blnStatusBarShow = CBool(Button.Value)

            Me.tbToolBar.Customize

''''            Me.tbToolBar.SaveToolbar

           

        Case "Help"

            Call mnuHelpAbout_Click

       

        Case "Exit"

            Call mnuFileClose_Click

        Case Else

            Exit Sub

    End Select

End Sub

(不好意思以上有很多垃圾代码。)

 

 

二、        状态栏

利用了WEBBROWSER控件的ProgressChange事件显示一个进度条;StatusTextChange事件更新状态栏窗格的信息,反映WEBBROWSER控件的的状态。

 

Private Sub brwWebBrowser_DownloadBegin()

    ProgressShow True

End Sub

 

Sub ProgressShow(Visible As Boolean)              ‘显示一个进度条

  Me.sbrHtml.Panels(2).Visible = Visible

  Progress1.Visible = Visible

  If Visible Then Progress1.Move sbrHtml.Panels(2).Left + 10, sbrHtml.Top + (sbrHtml.Height - sbrHtml.Height) \ 2 + 10, sbrHtml.Panels(2).Width - 20

 

End Sub

 

 

Private Sub brwWebBrowser_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)

On Error Resume Next

  Progress1.Max = ProgressMax

  If Progress > 0 Then

    Progress1.Value = Progress

  Else

    Progress1.Value = ProgressMax

  End If

End Sub

 

 

 

Private Sub brwWebBrowser_StatusTextChange(ByVal Text As String)

    Me.sbrHtml.Panels(1).Text = Text

    Me.sbrHtml.Refresh

   

End Sub

 

Private Sub brwWebBrowser_DownloadComplete()

    On Error Resume Next

    Me.Caption = brwWebBrowser.LocationName

    Me.cboAddress = Me.brwWebBrowser.LocationURL   ‘地址栏的现时地址

    ProgressShow False

End Sub

 

三、        地址栏

 

Private mbDontNavigateNow As Boolean       ‘是否正在在导航状态的变量

 

Private Sub cboAddress_Click()   ‘选中下拉列表中的行

    If mbDontNavigateNow Then Exit Sub

    brwWebBrowser.Navigate cboAddress.Text       ‘导航到下拉列表文本中的地址

End Sub

 

 

Private Sub cboAddress_KeyPress(KeyAscii As Integer)

    On Error Resume Next

    If KeyAscii = vbKeyReturn Then       ‘在下拉列表中输入地址完毕

        cboAddress_Click

    End If

End Sub

 

 

NavigateComplete2事件中把导航的地址加入下拉列表中(如果列表中没有的话)。

Private Sub brwWebBrowser_NavigateComplete2(ByVal pDisp As Object, URL As Variant)

''''    On Error Resume Next

   

  

    Dim i As Integer

    Dim bFound As Boolean

    Dim strTemp() As String

Me.Caption = brwWebBrowser.LocationName

查找地址是否已在列表中

    For i = 0 To cboAddress.ListCount - 1

        If cboAddress.List(i) = brwWebBrowser.LocationURL Then

            bFound = True

            Exit For

        End If

    Next i

    mbDontNavigateNow = True

    If bFound Then       ‘找到

        cboAddress.RemoveItem I       ‘移除

    End If

&nb

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口