BUG: Web Browser Position is Wrong on Pageframe Page

Last reviewed: April 24, 1997
Article ID: Q163412
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, versions 5.0, 5.0a

SYMPTOMS

When a Visual FoxPro for Windows version 5.0 form contains a pageframe, and one of the pages (other than page 1) of the pageframe has an OLE container control that houses the Microsoft Web Browser control, that container control will appear on the page in the wrong location at runtime.

It will be positioned to the upper left of where it was positioned at design time. Because it is still located on the pageframe, its dimensions will be shrunken so that it fits on the page.

If the Web Browser is located on the first page of the pageframe, its loading will throw the error:

   "OLE error code 0x80004005. Unspecified error."

There is no known workaround for this error. The control will be drawn on page 1 but will be larger than intended, obscuring the tabs for the remaining pages in the pageframe.

RESOLUTION

The following workaround applies only to placement of the Web Browser of pages other than page 1 of the pageframe control.

The location of the OLEContainer control can be reset in the Activate event method of the page of the pageframe containing the control. An example of the code to do this follows:

      This.Olecontrol1.Left = 0

This workaround will fail if the active page from which you move contains any of the OCX (ActiveX) controls that install with Visual FoxPro. If you switch from a page with an ActiveX control to the page with the Web Browser, the error will cause the Web Browser to locate at the upper left of where it should be.

To position the Web Browser correctly, you must first switch from a page with an ActiveX control to a page without one, and then to the page with the Web Browser control.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft product listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new form.

  2. Add a pageframe to the form.

  3. Add a web browser (Microsoft Web Browser) control to page 2 of the pageframe. Size it so it takes up most of the page.

    The steps to add this are as follows:

          a. Right-click on the pageframe, and select "Edit" on the context
    
             menu.
    
          b. Click the tab for page 2.
    
          c. Click the OLEContainer control tool on the toolbar.
    
          d. Position the mouse at the upper left of page 2.
    
          e. Drag the mouse to the lower-right corner of page 2.
    
          f. From the Insert Object dialog box, click the "Insert Control"
             option button, and then select "Microsoft Web Browser Control"
             from the list. If you do not see that option, install Microsoft
             Internet Explorer 3.01 by downloading it from the Internet. It
             will install the Web Browser in your Windows\System (on Windows
             95) or Windows\System32 (for Windows NT) directory. The file name
             of the control is shdocvw.dll.
    
    

  4. Add the following code to the init event method of the OLEContainer control (OLEContainer1):

          This.navigate("http://www.microsoft.com")
    

  5. Run the form and click the tab for page 2.


Keywords : buglist5.00 FxinteropOcx FxinteropOle FxtoolFormdes kbinterop vfoxwin vfpbug5.0a kbbuglist
Technology : kbole
Version : 5.0a 5.0
Platform : WINDOWS
Issue type : kbbug


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 24, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.