KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q174214: PRB: Form with Menu Displays Border w/ Borderstyle Set to None

Article: Q174214
Product(s): Microsoft Visual Basic for Windows
Version(s): 
Operating System(s): 
Keyword(s): kbGrpDSVB
Last Modified: 11-JAN-2001

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

- Microsoft Visual Basic Learning Edition for Windows, versions 5.0, 6.0 
- Microsoft Visual Basic Professional Edition for Windows, versions 5.0, 6.0 
- Microsoft Visual Basic Enterprise Edition for Windows, versions 5.0, 6.0 
- Microsoft Visual Basic Standard Edition, 32-bit, for Windows, version 4.0 
- Microsoft Visual Basic Professional Edition, 16-bit, for Windows, version 4.0 
- Microsoft Visual Basic Professional Edition, 32-bit, for Windows, version 4.0 
- Microsoft Visual Basic Enterprise Edition, 16-bit, for Windows, version 4.0 
- Microsoft Visual Basic Enterprise Edition, 32-bit, for Windows, version 4.0 
-------------------------------------------------------------------------------

SYMPTOMS
========

A Form with a menu displays a border and a titlebar when the BorderStyle
property of the form is set to 0-None. The Form displays a border even when the
Menus it contains are not visible.

CAUSE
=====

Visual Basic requires a Form with a Menu to have visible borders.

RESOLUTION
==========

Create a second Form to contain your popup menu and use the PopupMenu method in
the first Form to access the Menu of the second Form.

STATUS
======

This behavior is by design.

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

This section provides instructions on how to create a borderless Form with a
popup menu.

Step-by-Step Example
--------------------

1. Start a new in Visual Basic. Form1 is created by default.

2. Set the Form1 BorderStyle property to 0-None.

3. Copy the following code to the Code window of Form1:

        Option Explicit

        Private Sub Form_Load()
           Form2.Visible = False
        End Sub

        Private Sub Form_MouseDown(Button As Integer, _
                                   Shift As Integer, _
                                   X As Single, _
                                   Y As Single)

           If Button = vbRightButton Then
              Form1.PopupMenu Form2.mnuMyMenu
           End If
        End Sub

4. Add a second Form to the project.

5. Use the menu editor to add a menu with three menu items to the second form.
  Name the menu mnuMyMenu.

6. Press the F5 key to run the program. The first form displays without a
  border. Right-click the form to display the menu items from the second form.

REFERENCES
==========

PopupMenu method topic in the Online Help

(c) Microsoft Corporation 1997, All Rights Reserved. Contributions by Arsenio
Locsin, Microsoft Corporation


Additional query words: kbVBp500 kbVBp600 kbVBp kbdsd kbDSupport kbVBp400 kbNoKeyWord

======================================================================
Keywords          : kbGrpDSVB 
Technology        : kbVBSearch kbAudDeveloper kbZNotKeyword6 kbZNotKeyword2 kbVB500Search kbVB600Search kbVBA500 kbVBA600 kbVB500 kbVB600 kbVB400Search kbVB400 kbVB16bitSearch
Issue type        : kbprb

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

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.