Come mettere il Form al Top (in prima linea)
In un modulo BAS inserire il seguente codice:
Option Explicit
Public Declare Function SetWindowPos Lib "user32" (ByVal h As Long, ByVal hb As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal f As Long) As Long
Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Public Sub Form_OnTop(Form As Form)
'mette il form in prima linea (al Top)
Dim lResult As Long
lResult = SetWindowPos(Form.hWnd, HWND_TOPMOST, 0&, 0&, 0&, 0&, FLAGS)
End Sub
Public Sub Form_NotOnTop(Form As Form)
'fa ritornare il form normale (non al top)
Dim lResult As Long
lResult = SetWindowPos(Form.hWnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, FLAGS)
End Sub
Per provarlo, collochiamo due CommandButton nel Form. Al primo assegniamo la Caption=Al Top, al secondo assegniamo la Caption=Non al Top.
Nella sezione Codice del Form inserire:
Option Explicit
Private Sub Command1_Click()
Form_OnTop Form1
End Sub
Private Sub Command2_Click()
Form_NotOnTop Form1
End Sub
Non rimane che avviare il programmino (F5) e vedere l'effetto.
Testato su: Windows 98, Windows Me, Windows 2000 Professional