| imho.ws |
![]() |
|
|
|
# 1 |
|
Newbie
Регистрация: 10.07.2004
Адрес: los Engeles
Сообщения: 14
![]() |
Существует необходимость вывести окно на передний план при возникновении определенного события.
Метод SetFocus() не канает- когда окно под другими окнами, на передний план не выскакивает. FormStyle = fsStayOnTop тоже не подходит - окно выводится на передний план, но закрепляется поверх всех окон, что крайне нежелательно. Что делать? Кодю в Borland C++ Builder 6
__________________
Vita brevis est, ars longa... |
|
|
|
|
# 4 | |
|
Guest
Сообщения: n/a
|
Цитата:
|
|
|
|
# 5 |
|
Newbie
Регистрация: 10.07.2004
Адрес: los Engeles
Сообщения: 14
![]() |
Так, обо всем по порядку.
Испробованы способы: SetActiveWindow(MainForm->Handle) - не хочет SetForegroundWindow(...) - тоже не пашет SetWindowPos(...) - ни в какую Но мы не сдаемся и пошли дальше: SendMessage(MainForm->Handle, WM_ACTIVATE, 0, 0) - ноль эмоций Какие еще способы остались? ![]() P.S. Заголовочный файл winuser.h подключен.
__________________
Vita brevis est, ars longa... Последний раз редактировалось Mephi$topheL; 14.09.2006 в 11:36. |
|
|
|
|
# 7 |
|
Newbie
Регистрация: 10.07.2004
Адрес: los Engeles
Сообщения: 14
![]() |
Окно банально скрыто под другими окнами - то бишь Application->Active = false;
Не свернуто! Для этого выполняется проверка WindowState = wsMinimized. Если окно свернуто - Application->Restore() - кривовато конечно, но эта хрень вроде работает по крайней мере. Все способы, основанные на WinAPI - принципиально отказываются...
__________________
Vita brevis est, ars longa... |
|
|
|
|
# 9 |
|
Newbie
Регистрация: 10.07.2004
Адрес: los Engeles
Сообщения: 14
![]() |
Можно конечно попробовать...
Но это ж через ж..у, простите. Непонятно, какого хрена апишные функции работать не хотят. Вот так всегда, самую сложную часть проги написали за день, а с вроде бы фигней трахаемся уже неделю...
__________________
Vita brevis est, ars longa... |
|
|
|
|
# 10 | |
|
Full Member
Регистрация: 20.01.2004
Адрес: Таллинн
Пол: Male
Сообщения: 623
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
|
|
|
|
# 13 |
|
Junior Member
Регистрация: 30.03.2006
Адрес: Беларусь
Сообщения: 79
![]() |
У меня в VB похожая проблема. В винде это называется "программа ожидает ввода информации". В этот момент в строке пуска мигает кнопка. Так?
Если так, то я выхожу слд. образом: Form1.Show. Это не правильно, но работает. Если не срабатывает, можно сделать раз десять
__________________
Дай человеку рыбу - он будет сыт один день. Научи человека рыбачить - он будет сыт всю жизнь. |
|
|