Ребенок MDI формы поверх остальных детей? - VB

Формулировка задачи:

Такое сделать не получается именно с детьми МДИ формы. А с обычными формами все работает.
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40
Private Declare Sub 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)
 
Private Sub Form_Activate()
 SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or   SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End Sub

Код к задаче: «Ребенок MDI формы поверх остальных детей? - VB»

textual
Public Const HWND_TOP = 0
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOOWNERZORDER = &H200
Public Const SWP_NOACTIVATE = &H10
 
Public 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
 
Private Sub Form_Activate()
 SetWindowPos Form1.hwnd, HWND_TOP, x, y, X_Width, Y_Width, _
  SWP_NOACTIVATE + SWP_NOOWNERZORDER
end sub

11   голосов, оценка 3.909 из 5


СОХРАНИТЬ ССЫЛКУ