KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q145619: FIX: Maximized Win95 MDI Child Form Disappears

Article: Q145619
Product(s): Microsoft Visual Basic for Windows
Version(s): WINDOWS:4.0
Operating System(s): 
Keyword(s): kbVBp400bug kbVBp500bug kbOSWin98fix kbGrpDSVB kbDSupport
Last Modified: 11-JAN-2001

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

- Microsoft Visual Basic Standard Edition, 32-bit, for Windows, version 4.0 
- Microsoft Visual Basic Professional Edition, 32-bit, for Windows, version 4.0 
- Microsoft Visual Basic Enterprise Edition, 32-bit, for Windows, version 4.0 
-------------------------------------------------------------------------------

SYMPTOMS
========

Under certain circumstances, a maximized MDI child form is invisible and cannot
be made visible. The problem occurs under Windows 95, Windows NT 4.0, and
Windows 2000 when using the 32-bit version of Visual Basic 4.0.

RESOLUTION
==========

When the MaxButton property of Form1 is set to True, the problem does not occur.

STATUS
======

Microsoft has confirmed this to be an issue in Microsoft Windows 95, Windows NT
4.0, and Windows 2000. This problem has been fixed in Microsoft Windows 98.

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

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

1. Start Visual Basic 4.0, 32-bit. If it is already running, click New Project
  on the File menu.

2. Use the Insert/MDI Form menu option to add an MDIForm to the project.

3. In the Design Environment Property window, set the following properties for
  Form1:

  MinButton = False
  MaxButton = False
  ControlBox = False
  MDIChild = True
  WindowState = 2 - Maximized
  Caption =
  Borderstyle = 0 - None 'Options 1 - 5 will also work.

4. Run the application. Form1 will not be visible.

Workaround
----------

1. Start Visual Basic 4.0, 32-bit. If it is already running, click New Project
  on the File menu.

2. Use the Insert/MDI Form menu option to add an MDIForm to the project.

3. In the Design Environment Property window, set the following properties for
  Form1:

  MinButton = False MaxButton = False ControlBox = False MDIChild = True
  WindowState = 0 - Normal Caption = Borderstyle = 0 - None 'Options 1 - 5 will
  also work.

4. In the General Declaration section of Form1, paste the following:

               Private Sub Form_Load()
           'You could copy the following 4 lines to the Resize
           'event of MDIForm1 as well for best results.
           Form1.Top = 0
                   Form1.Left = 0
           Form1.Width = MDIForm1.Width - 185
           Form1.Height = MDIForm1.Height - 470
               End Sub

5. Run the application. Form1 will be visible.

Additional query words:

======================================================================
Keywords          : kbVBp400bug kbVBp500bug kbOSWin98fix kbGrpDSVB kbDSupport 
Technology        : kbVBSearch kbAudDeveloper kbVB400Search kbVB400
Version           : WINDOWS:4.0
Issue type        : kbbug
Solution Type     : kbfix

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

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.