KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q180495: BUG: Pages of PageFrame Created with AddObject Method Invisible

Article: Q180495
Product(s): Microsoft FoxPro
Version(s): MACINTOSH:3.0b; WINDOWS:3.0,3.0b,5.0,5.0a,6.0
Operating System(s): 
Keyword(s): kbHWMAC kbvfp
Last Modified: 11-DEC-1999

-------------------------------------------------------------------------------
The information in this article applies to:

- Microsoft Visual FoxPro for Macintosh, version 3.0b 
- Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b, 5.0, 5.0a, 6.0 
-------------------------------------------------------------------------------

SYMPTOMS
========

When using a multirow pageframe object, the currently selected page, pages on
the same row, and controls contained on the selected page are not visible. This
behavior only occurs when the TabStretch property of a pageframe is set to 0 -
Multiple Rows.

CAUSE
=====

When you add pages to a pageframe object using the AddObject method, Visual
FoxPro may not correctly determine how the pages should display.

RESOLUTION
==========

When you add pages to a pageframe object using the AddObject method, force
recalculation of the page display by setting the TabStretch property of the
pageframe to the existing TabStretch property value as shown below:

     pageform.pageframe1.TabStretch=pageform.pageframe1.TabStretch

STATUS
======

Microsoft has confirmed this to be a bug in the Microsoft products listed at the
beginning of this article.

MORE INFORMATION
================

Steps to Reproduce Behavior
---------------------------

1. Create a form called pageform.

2. Add a pageframe object and set the following properties:

     TabStretch : 0 - Multiple Rows - in Visual FoxPro version 5.x.
     TabStretch : 0 - Stack         - in Visual FoxPro version 3.x.
     Height     : 135
     Width      : 330

3. Create a program called Pageform.prg using the following code:

        PUBLIC pageform
        DO FORM pageform
        DO WHILE pageform.pageframe1.PAGECOUNT < 12
          lcpagename = "Page" + ALLTRIM(STR(pageform.pageframe1.PAGECOUNT+1))
          pageform.pageframe1.ADDOBJECT(lcpagename,"Page")
          pageform.pageframe1.ACTIVEPAGE=pageform.pageframe1.PAGECOUNT
          lcpageadd="PageForm.PageFrame1."+lcpagename+ ;
             ".AddObject('TextBox1','TextBoxa')"
          &lcpageadd
          pageform.REFRESH
        ENDDO
        RETURN

        DEFINE CLASS textboxa AS TEXTBOX
           TOP=25
           LEFT=10
           HEIGHT=20
           WIDTH=100
           VISIBLE=.T.
        ENDDEFINE

REFERENCES
==========

(c) Microsoft Corporation 1998, All Rights Reserved.
Contributions by John Desch, Microsoft Corporation


Additional query words: kbvfp300 kbvfp300b kbvfp500 kbvfp500a kbvfp600

======================================================================
Keywords          : kbHWMAC kbvfp 
Technology        : kbHWMAC kbOSMAC kbVFPsearch kbAudDeveloper kbVFP300bMac kbVFP300 kbVFP300b kbVFP500 kbVFP600 kbVFP500a
Version           : MACINTOSH:3.0b; WINDOWS:3.0,3.0b,5.0,5.0a,6.0
Issue type        : kbbug
Solution Type     : kbnofix

=============================================================================

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.

Copyright Microsoft Corporation 1986-2002.