Private 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
'************************************************************
'设置form是否在最上方
Public Sub TopMostForm(f As Form, Top As Boolean)
If Top Then
SetWindowPos f.HWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
Else
SetWindowPos f.HWnd, 0, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
End If
End Sub
'************************************************************
Private 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
'************************************************************
'设置form是否在最上方
Public Sub TopMostForm(f As Form, Top As Boolean)
If Top Then
SetWindowPos f.HWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
Else
SetWindowPos f.HWnd, 0, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
End If
End Sub
'************************************************************
'For OnTop
Private Const SWP_NOSIZE = &H1
Private Const SWP_NOMOVE = &H2
Private Const HWND_TOPMOST = -1
Private Const HWND_NOHWND = -2
Private 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
Public Sub OnTop(ByVal Hwnd As Long, Optional ByVal ibSet As Boolean = True)
If ibSet Then
SetWindowPos Hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos Hwnd, HWND_NOHWND, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
End If
End Sub