![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]()
Подскажите пожалуйста, есть две формы надо чтоб вторая форма была всегда поверх первой т.е. когда фокус переходил на первую форму вторая помещалась в TopMost на самый меньшей z последовательности(для того чтобы если была открыта другая пограмма которая былабы поверх всех окон моя форма былабы под ней), а когда фокус уходил с первой формы вторая становилась бы в обычную z последовательность на месте после первой формы. При этом фокус ни когда не должен передоваться второй форме, но на неё(на вторую форму) можно былобы навести мыш и нажать чтобы обробатывались события onClick, onMouseMove и т.п.
Для начала подскажите как заблокировать получение сообщения активации формы. Ну тоесть чтоб она как не старайся ни когда не смогла бы стать активной.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
Последний раз редактировалось Stilet; 08.03.2011 в 10:24. |
![]() |
![]() |
![]() |
#2 | |
Подтвердите свой е-майл
Регистрация: 19.12.2010
Сообщений: 808
|
![]() Цитата:
Код:
Последний раз редактировалось asmodey1; 04.03.2011 в 18:05. |
|
![]() |
![]() |
![]() |
#3 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]()
Спасибо за помощь, только это запостное решение первой проблемы
Код:
Код:
Может есть вариант без мерцания? ещё нужно решить два вопроса 1. если нажать на вторую форму ей передасться фокус(нужно недопустить этого) 2. если над второй формой будет окно TopMost другой программы то вторая форма прорисуется поверх этого окна(нужно ей задать самую низкую z последовательность) И мне удалось с тем примером вогнать вторую форму(синий квадрат) за первую я всего лиш нажал на вторую форму затем на заголовок первой, причём, окно первой формы белое, значит оно не активно а активна вторая форма
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
Последний раз редактировалось Stilet; 08.03.2011 в 10:24. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
ТС, а зачем такое надо?
и как по вашему форма должна не получая фокуса получать события мыши?(учитывая что клик передает фокус) может попробывать Popup? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 | |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]() Цитата:
я так думаю что при щелчке по окошку передаётся несколько сообщений(активация, нажатие мыши и незнаю что ещё) тогда как нить до того как программа оброботает сообщение об активации нужно его либо уничтожить либо поменять параметры(если я заблуждаюсь поправте пожалуйста), а как это сделать? я уже не знаю как в гугле писать, от фака по API уже совсем мозг рвётся. Popup если вы имеете ввиду компонент то нет, нужно именно мой вариант, если вы имеете ввиду что-то другое то поясните пожалуйста? Я вот боюсь что не втот раздел написал, мне всего лиш нужно чтоб вторая форма всегда была поверх первой, без мерцаний и чтоб только поверх первой, чтоб другие формы других программ никогда не залезли между первой и второй формой, при этом вторая форма должна существовать как отдельная форма а не MDI. С первой задачей справился так Код:
Код:
1. когда щёлкаеш по клиентской облости формы другой программы вторая форма остаётся висеть в TOPMOST, причем первая форма через раз остаётся висеть над формой другой программы, но если щёлкать по заголовкам то отображается всё корректно(кроме этого кода, что я выложил, в проэкте ничего нет), как это исправить. 2. вторая форма выводится в TOPMOST на самый верх, можно ли сделать так что б относительно всех TOPMOST она была в самом низу? #4-1 ещё актуально.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
Последний раз редактировалось Stilet; 08.03.2011 в 10:27. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Потеря фокуса | Naive | JavaScript, Ajax | 1 | 16.11.2010 05:53 |
смена фокуса | Alt | Общие вопросы Delphi | 2 | 13.10.2010 11:08 |
Использование фокуса | prikolist | Общие вопросы C/C++ | 1 | 27.03.2009 22:57 |
перемещение фокуса в ДБГриде | opel.omega | Общие вопросы Delphi | 2 | 26.11.2008 13:50 |
Окно без фокуса | Олвин | Общие вопросы Delphi | 4 | 13.10.2008 23:36 |