In this thread i'm going to talk about all the things that you might need in building an internet web browser using visualbasic component.
1- Adding components:
Go to "Project" on the top menu, and choose "Components" or click CTRL-T, then check "Microsoft html object library" and "Microsoft internet controls" and "Microsoft Windows common Controls 5.0".
You will see that new objects are appearing in the left box of your menu, now choose the webbrowser icon which looks like an earth and add it to your form, and make its size as you want, (its name is WebBrowser1 in this tutorial)
Also click on the "Progress bar" component and add it to your form.
2- Adding buttons and objects:
Now add the "6" essential command buttons to your form, and name them as the following: "Back","Forward","Stop","Refresh","Home" and "GO", Now add 1 combo box which the user will enter the web address on it.
3- Coding your application:
First click on the "GO" button and write this code inside it:
VB Code:
WebBrowser1.Navigate Combo1
Now We will code the other buttons as the following:
Back button:
VB Code:
On Error Resume Next
WebBrowser1.GoBack
Forward button:
VB Code:
On Error Resume Next
WebBrowser1.GoForward
Stop button:
VB Code:
On Error Resume Next
WebBrowser1.Stop
Refresh button:
VB Code:
WebBrowser1.Refresh
Home button:
VB Code:
WebBrowser1.GoHome
NOW YOU CAN TRY USING YOUR NEW WEB BROWSER.
4- Advanced codes:
You can add the following codes to your application to make it work better, Just place these codes anywhere in your coding window.
* Add a progress bar
VB Code:
'This to make the progress bar work and to show a status message, and an image.
Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
On Error Resume Next
If Progress = -1 Then ProgressBar1.Value = 100 'the name of the progress bar is "ProgressBar1".
Label1.Caption = "Done"
ProgressBar1.Visible = False 'This makes the progress bar disappear after the page is loaded.
But here you will need to add an label which is called "Label1" and also an small image such as a smile or earth or anything you want and the name is "image1"
* Open in new window
VB Code:
'This to open a new window with our browser.
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Dim frm As Form1
Set frm = New Form1
Set ppDisp = frm.WebBrowser1.Object
frm.Show
End Sub
This to open the new window with your browser.
* History and current visited site.
VB Code:
'This keeps the visited sites history and also changes the title of the browser as the page title.
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
On Error Resume Next
Dim i As Integer
Dim bFound As Boolean
Me.Caption = WebBrowser1.LocationName
For i = 0 To Combo1.ListCount - 1
If Combo1.List(i) = WebBrowser1.LocationURL Then
bFound = True
Exit For
End If
Next i
mbDontNavigateNow = True
If bFound Then
Combo1.RemoveItem i
End If
Combo1.AddItem WebBrowser1.LocationURL, 0
Combo1.ListIndex = 0
mbDontNavigateNow = False
End Sub
5- More coding:
You can add more buttons to your browser as those:
* Find if a word is in the page (taken from a tutorial on this forum).
VB Code:
'This to tell you if a word is in the page, Here we call the WebPageContains function.
Private Sub Command7_Click()
Dim strfindword As String
strfindword = InputBox("What are you looking for?", "Find", "") ' what word to find?
If WebPageContains(strfindword) = True Then 'check if the word is in page
MsgBox "The webpage contains the text" 'string is in page
Else
MsgBox "The webpage doesn't contains the text" 'string is not in page
End If
End Sub
'This is the finding function.
Private Function WebPageContains(ByVal s As String) As Boolean
thanks for sharing, btw the text box which you can see in the screenshot if for writing notes while surfing or viewing pages, me personaly i need this thing in my browser
Private Sub Webbrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
If Command = CSC_NAVIGATEBACK Then
cmdBack.Enabled = Enable
Else If Command = CSC_NAVIGATEFORWARD Then
cmdForward.Enabled = Enable
End If
End Sub
The most difficult part of developing a program is understanding the problem.
The second most difficult part is deciding how you're going to solve the problem.
Actually writing the program (translating your solution into some computer language) is the easiest part.
Please indent your code and use [HIGHLIGHT="VB"] [/HIGHLIGHT] tags around it to make it easier to read. Please Help Us To Save Ana
this is a very good tutorial, it has helped me alot with a college assignment. and before anything is sed i didnt copy it so i cannot be failed lol i just read the code understood it in my mind and put it down on my program. anyway this was a very good example and i have learnd alot from it and developed on it. so THANKS!!!!
dont believe in all that you've been told!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Use of the 'Microsoft internet controls' does hamper the functionality of this somewhat, though I agree, this is a really good tutorial.
Do you know of a way to prevent the WebBrowser control from reading from and writing to the same history as Internet Explorer? This drawback (and probably others) relegates the control to the status of Internet Explorer Jr., rather than its own app.
I just wanted to say this is a great tutorial. I'm using this for a school assignment and I think I'll get a pretty good grade on it.
Kenshin: (to Megumi) Even if you were to die, it won't bring anyone else back. Instead of hurting yourself, helping other people is the best way to make up for your mistakes. Batusai, the slasher is still alive and that's what he does.
This is a great tutorial. How can you get the popup window to resize and/or close based on the webpage(s)'s original javascript code? Your code opens the popup window but does not close it. Thx
Wow, great tutorial. But I was just wondering one thing. I use tabs in my web browser but I had to set the amount of tabs and its content before I created the project. Is there a code to make any links clicked on a web page go straight to a new tab instead of opening IE up. And an option to create a new tab
Wow, great tutorial. But I was just wondering one thing. I use tabs in my web browser but I had to set the amount of tabs and its content before I created the project. Is there a code to make any links clicked on a web page go straight to a new tab instead of opening IE up. And an option to create a new tab
Thanks
Here's a code sample
Code:
Private Sub TabStrip1_CLick()
Select Case TabStrip1.SelectedItem.Key
Case "Home Page"
WebBrowser1.GoHome
Case "New Tab"
Combo1.Text = "about:blank"
WebBrowser.Navigate (Combo1.Text)
End Select
End Sub
You can add more cases to your Tabs.
Merry Christmas,
MSWindowsUser
Visual Basic User and Advanced coder.
Dear sir,
Please help me.
This is a great tutorial. How can you get the popup window close based on the webpage(s)'s original javascript code? In this code opens the popup window but does not close it. After submitting value to main window how to close popup window ?
Dear sir,
Please help me.
This is a great tutorial. How can you get the popup window close based on the webpage(s)'s original javascript code? In this code opens the popup window but does not close it. After submitting value to main window how to close popup window ?
Raghu Bhandari
Open menu editor (Ctrl + E), type in &Pop-ups in the Caption box, mnuPopups in the Name box, hit enter, add &Allow in the caption box, mnuAllow in the name box, check checked, hit the right arrow so that it can go into the pop-ups menu, add &Disallow in the Caption box, mnuDisallow in the name box, click on the right arrow to let it stay in the Pop-ups menu.
Code:
Private Sub mnuAllow_Click()
mnuAllow.Checked = True
mnuDisallow.Checked = False
Dim frmNW As frmInternet
Dim ppDisp As Object
Dim Cancel As Boolean
Set frmNW = New frmInternet
frmNW.brwWebBrowser.RegisterAsBrowser = True
Set ppDisp = frmNW.brwWebBrowser.object
frmNW.Show
End Sub
Private Sub mnuDisallow_Click()
mnuDisallow.Checked = True
mnuAllow.Checked = False
Dim ppDisp As Object
Dim Cancel As Boolean
Dim frmNW As frmInternet
Cancel = IsPopupWindow
If Cancel = False Then
Set frmNW = New frmInternet
Set ppDisp = frmNW.brwWebBrowser.object
frmNW.Visible = True And False
End If
End Sub
Private Sub brwWebBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean)
On Error Resume Next
Dim frmNW As frmInternet
Cancel = IsPopupWindow
If mnuDisallow.Checked = False Then
mnuAllow.Checked = True
Set frmNW = New frmInternet
frmNW.brwWebBrowser.RegisterAsBrowser = True
Set ppDisp = frmNW.brwWebBrowser.object
frmNW.Show
ElseIf mnuAllow.Checked = False Then
mnuDisallow.Checked = True
Cancel = False
Set frmNW = New frmInternet
Set ppDisp = frmNW.brwWebBrowser.object
frmNW.Visible = True And False
End If
End Sub
Private Function IsPopupWindow() As Boolean
On Error Resume Next
If brwWebBrowser.Document.activeElement.tagName = "BODY" Or brwWebBrowser.Document.activeElement.tagName = "IFRAME" Then
IsPopupWindow = True
Else
IsPopupWindow = False
End If
End Function
Code sample above can be copied.
To disallow, go to Pop-ups > Click on Disallow and it will check the disallow menu. ***NOTE: This cannot open links in a new window. It will block the new window from opening. ***
Private Function Popups() as Boolean
Dim frmAds as Form1
Dim ppDisp as Object
Dim Cancel AS Boolean
Set frmAds = New Form1
Set ppDisp = Form1.WebBrowser1.Object
If Popups = False Then
Cancel = False
frmAds.Visible = True And Fasle
Unload frmAds
End If
End Function
Private Sub WebBrowser1_NewWindow2(ppDisp as Object, Cancel As Boolean)
Dim frmNewWindow As Form1
Set frmNewWindow = New Form1
Set ppDisp = Form1.WebBrowser1.Object
WebBrowser1.RegisterAsBrowser = True
frmNewWindow.Show
Popups = False
End Sub
This block all pop-ups* and you can still open links in a new window.
*Do NOT go on websites that the domains expired. If you go to another website, only ONE pop-up show up, close the pop-up.
Last edited by MSWindowsUser; Dec 30th, 2007 at 03:01 AM.
Dear sir,
I try like this to close my window.
but i got unspecified error and my application close.
Private Sub wbrBrowser_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
'On Error Resume Next
If (IsChildWindow) Then
Cancel = True Unload Me (Error On this line)
Else
Cancel = False
End If
End Sub
Private Function IsPopupWindow() As Boolean
On Error Resume Next
If WebBrowser1.Document.activeElement.tagName = "BODY" Or WebBrowser1.Document.activeElement.tagName = "IFRAME" Then
IsPopupWindow = True
Else
IsPopupWindow = False
End If
End Function
Dear sir,
I try like this to close my window.
but i got unspecified error and my application close.
Private Sub wbrBrowser_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
'On Error Resume Next
If (IsChildWindow) Then
Cancel = True Unload Me (Error On this line)
Else
Cancel = False
End If
End Sub
Private Function IsPopupWindow() As Boolean
On Error Resume Next
If WebBrowser1.Document.activeElement.tagName = "BODY" Or WebBrowser1.Document.activeElement.tagName = "IFRAME" Then
IsPopupWindow = True
Else
IsPopupWindow = False
End If
End Function
Sir What i did mistake in code can u help me ?
Thanks
Raghu Bhandari
Remove the single quote from the On Error Resume Next line.
Dear sir,
No no mistakenly i paste that wrong code but i already try without single quote. when my program execute this line VB application also close with unspecified error. Any Idea ?
Dear sir,
No no mistakenly i paste that wrong code but i already try without single quote. when my program execute this line VB application also close with unspecified error. Any Idea ?
If you are using Visual Basic 2005 then
Me.Close()
ElseIf you are using Visual Basic 6 Then
Unload Me
End If
Private Sub wbrBrowser_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
On Error Resume Next
If (IsChildWindow) Then
Cancel = True
Unload Me (Error On this line)
Else
Cancel = False
End If
End Sub
Some page can close but some pages catch error on this line
So what can i do ?
Private Sub wbrBrowser_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
On Error Resume Next
If (IsChildWindow) Then
Cancel = True
Unload Me (Error On this line)
Else
Cancel = False
End If
End Sub
Some page can close but some pages catch error on this line
So what can i do ?
Remove the parentheces on "If (IsChildWindow) Then"
Add = True Or False after IsChildWindow. Solved?
also im using VB6.0....whenever i try 2 load d 'microsoft internet controls' comp it gives an error saying c:\windows\system32\ieframe.dll\1 cud not b loaded...what can b d prob
Hey Friends thanx a lot!! d tutorial was very helpful!!
is there possibility to open a vb form in a IE xplorer???
as per my project i want 2 navigate inside a vb form just like the way we navigate using frames in html.....i mean wen i click on a command button or link i want d other form 2 load within d parent form..is it possible??
thanx a lott in advance.. ..My final yr project pendin coz of ds
also im using VB6.0....whenever i try 2 load d 'microsoft internet controls' comp it gives an error saying c:\windows\system32\ieframe.dll\1 cud not b loaded...what can b d prob
also im using VB6.0....whenever i try 2 load d 'microsoft internet controls' comp it gives an error saying c:\windows\system32\ieframe.dll\1 cud not b loaded...what can b d prob
Download my attachment, unzip the contents, copy the file to C:\WINDOWS\System, hit Ctrl + T, click Browse..., Go up one, double-click on the System Folder, for the file type, choose All Files (*.*) and type in shdocvw.DLL This works 100%
The Only reason this doesn't open in Windows XP, it's because this file is not supported on VB6 with Windows XP on your PC.
Next up ... the problems folks had, I believe relates to the version of IE you have. When I updated mine from 7 to 8 (I think, version may be wrong but in any case, from one older version to the newest), this screwed my old VB6 IE Browser control.....