Страница: 1 |
Подскажите как сделать окно поверх всех окон Спасибо!
'Устанавливаем окно поверх всех остальных Константы Public Const HWND_TOPMOST = -1 Объявление 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 Mojno prowwe: Pri zapuske napisat' Form.show vbmodal vig11, Мда? И что ты получишь? Ты сам то хоть раз пробовал? Модальная форма показывается только поверх других форм программы. А вопрос был чтобы стать самым верхним окном во всей винде!... Короче Модал не подходит... Ребята ! Я по своей работе делаю апликации для работы с AutoCAD-ом и IntelliCAD-ом. Т.е. у меня запущен или AutoCAD или IntelliCAD затем я запускаю свою программу скомпилированную в DLL, в которой я открываю окно Form.Show vbmodal и окно открывается поверх AutoCad-а или IntelliCAD-a. Так,что такой способ тоже работает. Опять же может быть это не самый лучший способ, но он опробован и работает в действующих программах. Боюсь что у тебя может возникнуть проблема если другая программа будет использовать SetWindowPos А что будет если две проги одновременно будут юзать SetPos??????????? A ya gdeto videl example v kotorom dazhe esli ty v etoj situacii byl pervyj, vse ravno tvoya proga budet poverhu! Vot tol`ko blin nide ego najti nemogu(( Миллениум - хоть читай чужие ответы. Ну зачем отвечать, если вверху отвечено, и значительно информативней у тебя... Страница: 1 |
Вопрос: Помогите с окнами
Добавлено: 03.01.03 06:18
Автор вопроса: Sergey.
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #1
Добавлено: 03.01.03 10:28
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
Public Const HWND_NOTOPMOST = -2
Public Const SWP_NOACTIVATE = &H10
Public Const SWP_NOSIZE = &H1
Public Const SWP_NOMOVE = &H2
Public Const SWP_SHOWWINDOW = &H40
Номер ответа: 2
Автор ответа:
vig11
ICQ: 213777061
Вопросов: 21
Ответов: 159
Профиль | | #2
Добавлено: 03.01.03 13:51
Номер ответа: 3
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #3
Добавлено: 03.01.03 13:57
Номер ответа: 4
Автор ответа:
vig11
ICQ: 213777061
Вопросов: 21
Ответов: 159
Профиль | | #4
Добавлено: 03.01.03 17:46
Proboval inache ne napisal byi!
Номер ответа: 5
Автор ответа:
-=Gork=-
ICQ: 9993198
Вопросов: 8
Ответов: 229
Web-сайт:
Профиль | | #5
Добавлено: 03.01.03 19:42
Номер ответа: 6
Автор ответа:
vig11
ICQ: 213777061
Вопросов: 21
Ответов: 159
Профиль | | #6
Добавлено: 03.01.03 20:26
Номер ответа: 7
Автор ответа:
CyRax
Разработчик Offline Client
ICQ: 204447456
Вопросов: 180
Ответов: 4229
Web-сайт:
Профиль | | #7
Добавлено: 04.01.03 22:00
Номер ответа: 8
Автор ответа:
-=Gork=-
ICQ: 9993198
Вопросов: 8
Ответов: 229
Web-сайт:
Профиль | | #8
Добавлено: 05.01.03 12:09
Номер ответа: 9
Автор ответа:
Иван
Администратор
ICQ: 147688925
Вопросов: 24
Ответов: 708
Web-сайт:
Профиль | | #9
Добавлено: 05.01.03 18:34
В этом случае наверх попадет та, которая юзала это дело последней.
Номер ответа: 10
Автор ответа:
AASoft
Вопросов: 86
Ответов: 920
Профиль | | #10
Добавлено: 07.01.03 00:43
Номер ответа: 11
Автор ответа:
vig11
ICQ: 213777061
Вопросов: 21
Ответов: 159
Профиль | | #11
Добавлено: 07.01.03 10:34
Насчёт функции SetWindowPos. У меня одновременно работают две аппликации. Одна использует функцию SetWindowPos, а во второй я открываю окно Form.Show vbmodal и окно это работает прекрасно и находится поверх AutoCAD-а или IntelliCAD-а. В то же время я опять повторяю, что я не утверждаю, что так как делаю я правильнее. Стоило бы проверить, но просто нет времени.
Номер ответа: 12
Автор ответа:
Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #12
Добавлено: 07.01.03 14:45
Используй SetWindowPos библиотеку API
Номер ответа: 13
Автор ответа:
-=Gork=-
ICQ: 9993198
Вопросов: 8
Ответов: 229
Web-сайт:
Профиль | | #13
Добавлено: 07.01.03 14:55