Вопрос
Второй день мучаюсь с отображением формы: есть главная форма, с которой выводится на экран модальная форма, с которой надо бы отобразить еще одну, но немодальную для текущего окна форму, т.е. чтобы перед главной формой оказалось еще два равных между собой окна.
Ответ
Поместите в модуль:
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
Public Const HWND_NOTOPMOST = -2
Public Const HWND_TOPMOST = -1
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
'==On top==
Public Sub SetFormPosition(frmHandl As Long, TopPosition As Boolean)
If TopPosition Then
SetWindowPos frmHandl, HWND_TOPMOST, 0, 0, 0, 0, _
SWP_NOACTIVATE Or SWP_NOSIZE Or SWP_NOMOVE
Else
SetWindowPos frmHandl, HWND_NOTOPMOST, 0, 0, 0, 0, _
SWP_NOSIZE Or SWP_NOMOVE
End If
End Sub
и вызывать: Call SetFormPosition(Me.hWnd, True / False)
Далее при перемещении основной формы наверх активизируешь этот код.
DmitryK1
Copyright 2000-2004 Сообщество Чайников
Контактная информация