Страница: 1 |
|
Вопрос: как поставить окно выше всех?
|
Добавлено: 28.08.05 00:11
|
|
Автор вопроса: Master Cheat'$
|
как поставить окно выше всех? не просто чтоб оно вылезло, а чтоб при выборе другого окна оно оставалось выше других и при этом "выбрано" было другое окно на которое кикнули? в некоторых прогах такое есть (плееры всякие, если поставить "выше всех окон" оно не слазит с монитора а при этом выбраны другие окна) и не методикой "через каждую секунду Form1.SetFocus" или что то подобное, так оно "мелькает".
Ответить
|
Номер ответа: 1 Автор ответа: Alexander
Вопросов: 19 Ответов: 118
|
Профиль | | #1
|
Добавлено: 28.08.05 02:47
|
Attribute VB_Name = "MdlOnTop"
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
Private Const HWND_NOTOPMOST = -2
Private Const HWND_TOPMOST = -1
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private 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
Public Sub OnTop(Form)
SetFormPosition Form.hwnd, True
End Sub
Public Sub OffTop(Form)
SetFormPosition Form.hwnd, False
End Sub
модуль
и не про сет фокус, пойдет?
Ответить
|
Номер ответа: 2 Автор ответа: Master Cheat'$
Вопросов: 14 Ответов: 102
|
Профиль | | #2
|
Добавлено: 28.08.05 03:24
|
класс, и кода оказывается мало надо, и работает отлично ))))
спасиб
Ответить
|
Номер ответа: 3 Автор ответа: Master Cheat'$
Вопросов: 14 Ответов: 102
|
Профиль | | #3
|
Добавлено: 28.08.05 17:40
|
вот только одно "НО" заметил: когда остается только одно окно программы оно становится обычным, и после запуска других снова снизу. я этот глюк исправил. Конечно, может это только с той прогой в которую я засунул, но все таки...
Ответить
|
Номер ответа: 5 Автор ответа: Master Cheat'$
Вопросов: 14 Ответов: 102
|
Профиль | | #5
|
Добавлено: 29.08.05 00:59
|
если ты запускал прям из бейсика то ниче не будет, а вот если запустить и закрыть все приложения, то другие формы смогут эту форму перекрыть (впрочем и окна других приложений тоже)
комп видимо думает что перекрывать нечем и отключает, и когда еще что-то запускается...
Ответить
|
Страница: 1 |
Поиск по форуму