Article ID: 173773 - View products that this article applies to.
This article was previously published under Q173773
This article demonstrates how to move a form with the mouse when the form has no title bar by using the 32-bit Windows API SendMessage function with the WM_NCLBUTTONDOWN message.
The WM_NCLBUTTON message is generated by Windows when a user right-clicks on a window's title bar. Windows uses this message to determine whether the window should be moved by further user actions. If the title bar does not exist, this message is not generated. However, it is often useful to move a window when it doesn't have a title bar. A window or form in 32-bit Visual Basic will not have a title bar under the following circumstances:
Visual Basic 5.0 and Visual Basic 6.0 Caption = "" ControlBox = False Visual Basic 4.0 Caption = "" ControlBox = False MaxButton = False MinButton = False
The sample code below illustrates a way of letting users move a form without a title bar by simply clicking and dragging it from anywhere on the form. The code placed in the MouseMove event procedure of Form1 may be placed in other event procedures, if so desired. For example, the code could be placed in the MouseDown event procedure of a Label control allowing movement of the form by selecting and dragging from the Label control.
NOTE: In Visual Basic 4.0, a form with a menu will have the title bar supplied by default so the method demonstrated below is not necessary. In Visual Basic 5.0 and Visual Basic 6.0, a form with a menu will not have a title bar supplied by default.
For information on how to move a form without a title bar in 16-bit versions of Visual Basic, please see the following article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/114593/EN-US/ ): How To Move a Form that Has No Titlebar or Caption
Article ID: 173773 - Last Review: July 1, 2004 - Revision: 3.1