Make a Form Stay on Top

You can make a form always remain above others, even when it does not have focus. Use this code in a BAS module:

 #If Win16 Then	Declare Sub SetWindowPos Lib "User" ( _		ByVal hWnd As Integer, _		ByVal hWndInsertAfter As Integer, _		ByVal X As Integer, ByVal Y As Integer, _		ByVal cx As Integer, ByVal cy As Integer, _		ByVal wFlags As Integer)#Else	Declare Function SetWindowPos Lib _		"user32" (ByVal hwnd As Long, _		ByVal hWndInsertAfter As Long, _		ByVal x As Long, ByVal y As Long, _		ByVal cx As Long, ByVal cy As Long, _		ByVal wFlags As Long) As Long#End IfPublic Const SWP_NOMOVE = &H2Public Const SWP_NOSIZE = &H1Public Const HWND_TOPMOST = -1Public Const HWND_NOTOPMOST = -2

Use this code to make the form stay on top in the form module:

 SetWindowPos hwnd, HWND_TOPMOST, 0, 0, 0, 0, _	SWP_NOMOVE + SWP_NOSIZE

Use this code to make the form no longer stay on top in the form module:

 SetWindowPos Parent.hwnd, HWND_NOTOPMOST, _	 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE

In 16-bit systems, use the 16-bit equivalents.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: