Contents - Index - Top


VB6 - Web Browser example

 

File(s): frmBrowser.frm, html\paintings.html

 

This example shows you how-to use the control as a basic browser.

 

First look at the Form_Load event.

 

Private Sub Form_Load()

    On Error Resume Next

    Me.Show

    tbToolBar.Refresh

    Form_Resize

 

    EdgeWebBrowser.CreateWebView

    EdgeWebBrowser.EventsUseHexadecimal = True ' For VB we need to use the Hexadecimal event variants

    EdgeWebBrowser.UnlockControl "ExampleCompany", "WI5PO2-2KSU3Q-HWFXFU-IUMU2V-QF8P2F"

 

    If Len(StartingAddress) > 0 Then

        cboAddress.Text = StartingAddress

        cboAddress.AddItem cboAddress.Text

        'try to navigate to the starting address

        EdgeWebBrowser.Navigate StartingAddress

    End If

    cboAddress.AddItem "https://www.antwise.com"

    cboAddress.AddItem "https://www.antwise.com/Edge-WebView2-ActiveX.htm" ' will redirect to antview.dev

    cboAddress.AddItem "https://rijksmuseum.local/paintings.html" ' shows our local file paintings.html, see MapLocalFolderToHostName

    cboAddress.AddItem "https://todo.kasiban.com" ' stores data in the local browser indexed db, can test to see what happens if you delete the cache directory

    cboAddress.AddItem "https://badssl.com/download" ' a website from google to test certificates

    cboAddress.AddItem "https://docs.microsoft.com/en-us/dotnet/api/microsoft.web.webview2.core"

    cboAddress.AddItem "https://docs.microsoft.com/en-us/microsoft-edge/webview2/reference/win32/"

End Sub

 

You always need to unlock the control with UnlockControl. You can do this globally if you have multiple AntView controls.

We're calling the CreateWebView method in order to instantiate the WebView2 control.

 

As Visual Basic doesn't support the Int64 datatype, we also set the property EventsUseHexadecimal to true so that we can use those events that have Int64 style datatypes.

There's also a bit on setting a few default URL's in the combo and a bit about resizing, which we're going to ignore for now.

 

That's the part on setting up the control. Now we can use it.

 

Private Sub MapLocalFolderToHostName()

  Dim Path As String

  Dim HostName As String

  

  Path = strGetVisualBasicDemoPath & "\html"

  HostName = "rijksmuseum.local"

  EdgeWebBrowser.SetVirtualHostNameToFolderMapping HostName, Path, hrakAllow

End Sub

 

Private Sub EdgeWebBrowser_OnCreateWebviewCompleted(ByVal HResult As Long)

  MapLocalFolderToHostName

End Sub

 

Once the WebView2 control is initialised, it will trigger the OnCreateWebViewCompleted event.

We are using that event here to setup a so called "virtual host name mapping". This is a technique where you map a local file path to a hostname. In our example we are mapping the folder "C:\Users\Public\Documents\AntView\Examples\Visual Basic\html" to hostname "rijksmuseum.local" so that we can access files in that folder using URL "https://rijksmuseum.local".

By setting this with SetVirtualHostNameToFolderMapping you can use features that normally won't be available with file based URI's.

 

The OnNavigationCompletedHex event is used to update the address combobox with the actual URL.

 

Private Sub EdgeWebBrowser_OnNavigationCompletedHex(ByVal IsSuccess As Boolean, ByVal WebErrorStatus As AntViewAx2.TxWebErrorStatus, ByVal NavigationIdHex As String)

  '

  If IsSuccess Then

    cboAddress.Text = EdgeWebBrowser.Source

  End If

End Sub

 

We do something similar for the back/next buttons, but then in the OnHistoryChanged event:

 

Private Sub EdgeWebBrowser_OnHistoryChanged()

  tbToolBar.Buttons("Back").Enabled = EdgeWebBrowser.CanGoBack

  tbToolBar.Buttons("Forward").Enabled = EdgeWebBrowser.CanGoForward

End Sub

 

If we press "Enter" in the combo, or select an option from the address combo then it will nagivate to that page via the navigate method.

 

Private Sub cboAddress_Click()

    EdgeWebBrowser.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

 

From the toolbar, you can click on the print button and it will run the PrintCurrentDocument sub

 

Private Sub PrintCurrentDocument()

  Dim FilePath As String

  Dim Settings As String

  

  FilePath = "" ' Not specifying a path+filename will popup a file save as dialog

  Settings = "" ' JSON serialized string with options for settings

  ' We're going to add the following JSON:

  ' { "displayHeaderFooter" : true,

  '   "headerTitle" : "AntView PrintToPdf Demo",

  '   "printBackground" : true,

  '   "scale" : 0.5

  ' }

  Settings = "{"

  Settings = Settings & " ""displayHeaderFooter"": true, "

  Settings = Settings & " ""headerTitle"": ""AntView PrintToPdf Demo"", "

  Settings = Settings & " ""printBackground"": true, "

  Settings = Settings & " ""scale"": 0.5 "

  Settings = Settings & "}"

  EdgeWebBrowser.PrintToPdf FilePath, Settings

End Sub

 

to print the current page to Pdf via the PrintToPdf method.

You can supply a filepath to use, but as we didn't supply one, the control will ask where to save the Pdf via the standard save as windows file dialog.

 


AntView - The MS Edge WebView2 ActiveX control Date last changed: 09/30/2024