Web Browser Control Question

Posted on 2002-05-01
Last Modified: 2010-05-02

I need some help clarifying the events associated with VB 6's Web Browser control. I have one, on a Form. This Form has a menu of its own and one of the top menu selections is "Favorites". The browser has basic back and forward buttons as you're probably aware.

My home button is coded for When I click on that, I get CNN online. I click around on the Favorites and work the browser to test it. There is one noticeable problem with the address bar - it doesn't always correctly display the URL. If I'm at one of my Favorites and I click the Home button, the last site I visited remains in the address bar.

What event do I need to check code on th get this browser to work as one would expect it to work (just like IE)?

Also, is there a way to add a history feature to this control?

Question by:jnowlin
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 6
  • 5
LVL 28

Accepted Solution

AzraSound earned 200 total points
ID: 6983915

Private Sub WebBrowser_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    If (pDisp Is WebBrowser.Object) Then
        txtURL.Text = URL
    End If
End Sub
LVL 28

Expert Comment

ID: 6983919
>>Also, is there a way to add a history feature to this control?

You could probably maintain this quite simply with an array

Author Comment

ID: 6984855
I wrote the Sub as you suggested but it didn't work. It looked as though it was an event associated with the browser control. I replaced txtURL.Text with my address bar control, which is cboAddress.Text.

My control is named differently - I think it's brwBrowser.
So, do I understand correctly that your above code should work if I rename-
to brwBrowser_DocumentComplete, it should then work?

I remember having this braincramp before. What you've suggested above sounds as if it's associated with one of this control's objects.




Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

LVL 28

Expert Comment

ID: 6984875
Yes, the control has a DocumentComplete event that you should be able to see in the dropdown box listing the control's events in the code window of the VB IDE.

Author Comment

ID: 6984983
I got it this time AzraSound! In the process, I ran into another, more serious problem. This app crashes when I minimize the Form that the brwBrowser control is on with a run-time error 380: Invalid Property Value.
Which property? Since I minimize the Form and that's where there's a property incorrectly set. The border style is set to sizeable...
The Form has a maximize, minimize and restore in the upper right corner...
LVL 28

Expert Comment

ID: 6986046
What code do you have, if any, in your form's Resize event?

Author Comment

ID: 6987497
Hi AzraSound,

This is what't contained in my Form's Resize event:

Private Sub Form_Resize()
    cboAddress.Width = Me.ScaleWidth - 100
    brwWebBrowser.Width = Me.ScaleWidth - 100
    brwWebBrowser.Height = Me.ScaleHeight -   (picAddress.Top + picAddress.Height) - 100
End Sub

This Form came with VB as a template. I don't understand why there is a PictureBox contained within a ComboBox. Yet, it's there. The ScaleMode is set to twip. I've never altered any of these properties.

LVL 28

Expert Comment

ID: 6987554
Either add:

On Error Resume Next

at the top of the resize event, or do:

If Me.WindowState = vbMinimized Then Exit Sub

at the top of the resize event.

Author Comment

ID: 6989293
I tried both lines of code separately at the top of the Form's ReSize event and the program still crashes when the Form is minimized. "Invalid Property Value" - error 380

I wish this error msgbox would tell me more.

Should I try to trap this error, as in:

If Err.Number = 380 Then Exit Sub


I don't know what property of what object/control is set wrong or invalid. The application compiles without issuing any compile-time errors.
I suppose I could copy the code and remove this Form and add a new web browser Form. It's another option.


Author Comment

ID: 6989725
Hold on...

It works. I was working with an older version of the app.
I'm sorry.

Author Comment

ID: 6989728
Thanks once again AzraSound.
I still would have liked to know which proerty on which control was invalid.

I'm off to pose the next question.

Jim Nowlin

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses
Course of the Month5 days, 11 hours left to enroll

627 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question