![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Гость_Den |
|
|||
|
Unregistered |
Подскажите пожалуйста, как заставить окно появляться и оставаться поверх всех окон, даже если оно не активно. Речь идет не только о главной форме, а и о формах, вызванных с помощью Show, ShowModal.
Спасибо. |
|||
|
||||
| Bes |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 806 Регистрация: 8.12.2004 Репутация: 5 Всего: 7 |
А FormStyle не подойдет?
|
|||
|
||||
| Burich-Caeser |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 28.7.2004 Репутация: нет Всего: 1 |
А установка FormStyle в fsStayOnTop не прокатывает?
Тогда попробуй через Апишную функцию. Чего-то такое: with MyForm do SetWindowPos(Handle, HWND_TOPMOST, Left,Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE); Должно прокатить. --------------------
Ты брошен вниз силой судьбы,Ты унижен и раздавлен,Время забыть то, кем ты был,Но помнить, кем ты стал... |
|||
|
||||
| Zero |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2169 Регистрация: 23.10.2004 Где: Россия, г. Рязань Репутация: 8 Всего: 24 |
Burich-Caeser, что-то у тебя сложно написано, вот проще:
поверх всех:
|
||||
|
|||||
| Pathfider |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 13.7.2004 Где: все там же Репутация: -1 Всего: 1 |
При переключении между формами делаем следующее:
<Главная форма>.FormStyle:=fsNormal; <Форма>.Show; <Форма>.FormStyle:=fsStayOnTop; при обратном переключении либо закрытии - то же самое с точностью до наоборот. --------------------
Trust is a weakness |
|||
|
||||
| Гость_Den |
|
|||
|
Unregistered |
Большое всем спасибо за помощь. С проблемой справился только благодаря вам. Радует реакция ответов. По-моему это один из лучших форумов. Спасибо
|
|||
|
||||
| Гость_Den |
|
|||
|
Unregistered |
Ух. Поторопился я наверное с благодарностями. Значит такая проблема.
Нужно, что бы главная форма пряталась в трей (это сделано), а дополнительная, вызвенная с помощью Form2.Show была всегда наверху, т.е. поверх всех окон. И вот что получается. Кагда гл. форма активна, доп. всегда сверху. Но стоит гл. форму свернуть в трей, как доп. перестает быть всегда наверху. При сворачивании гл. формы отлавливается нажатие на кнопку свернуть и вызавается Form1.Hide.( это что бы не было ее на таскбаре) и рисуется иконка в трее. Если же не сворачивать в трей, а просто свернуть на таскбар, то и доп. форма исчезает. Перепробовал все выше перечасленное. Не помогло. Может я не правильно что-то делаю в данном случае? Подскажите, как лучше реализовать задеманное. Спасибо. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Ух. Поторопился я наверное с благодарностями. Значит такая проблема.
Нужно, что бы главная форма пряталась в трей (это сделано), а дополнительная, вызвенная с помощью Form2.Show была всегда наверху, т.е. поверх всех окон. И вот что получается. Кагда гл. форма активна, доп. всегда сверху. Но стоит гл. форму свернуть в трей, как доп. перестает быть всегда наверху. При сворачивании гл. формы отлавливается нажатие на кнопку свернуть и вызавается Form1.Hide.( это что бы не было ее на таскбаре) и рисуется иконка в трее. Если же не сворачивать в трей, а просто свернуть на таскбар, то и доп. форма исчезает. Перепробовал все выше перечасленное. Не помогло. Может я не правильно что-то делаю в данном случае? Подскажите, как лучше реализовать задеманное. Спасибо. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Ух. Поторопился я наверное с благодарностями. Значит такая проблема.
Нужно, что бы главная форма пряталась в трей (это сделано), а дополнительная, вызвенная с помощью Form2.Show была всегда наверху, т.е. поверх всех окон. И вот что получается. Кагда гл. форма активна, доп. всегда сверху. Но стоит гл. форму свернуть в трей, как доп. перестает быть всегда наверху. При сворачивании гл. формы отлавливается нажатие на кнопку свернуть и вызавается Form1.Hide.( это что бы не было ее на таскбаре) и рисуется иконка в трее. Если же не сворачивать в трей, а просто свернуть на таскбар, то и доп. форма исчезает. Перепробовал все выше перечасленное. Не помогло. Может я не правильно что-то делаю в данном случае? Подскажите, как лучше реализовать задеманное. Спасибо. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Простите за повторы, глюки провайдера.
|
|||
|
||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
а может поменять метсами формы
Добавлено @ 10:16 Попробуй вызывать данную функцию в обработчиках события OnShow() или OnDeactivate(), OnActivate() доп. формы.
Добавлено @ 10:20 попробуй использовать в событии OnHide основной формы или в той процедуре, где ты прячешь окно
параметр SW_HIDE Скрывает окно и активизирует другое. SW_MAXIMIZE Разворачивает окно. SW_MINIMIZE Сворачивает окно. SW_RESTORE Активизирует и выводит окно. Если окно было развёрнуто или свёрнуто - восстанавливает исходный размер и позицию. SW_SHOW Активизирует и выводит окно с его оригинальным размером и положением. SW_SHOWDEFAULT Активизирует с установками, заданными в структуре STARTUPINFO, которая была передана при создании процесса приложением запускающим нужную программу. SW_SHOWMAXIMIZED Выводит окно в развёрнутом виде. SW_SHOWMINIMIZED Выводит окно в виде пиктограммы на панели задач. SW_SHOWMINNOACTIVE Выводит окно в свёрнутом виде на панели задач и не передаёт ему фокус ввода, т.е. окно, которое до этого было активно остаётся активно по прежнему. SW_SHOWNA Отображает окно в его текущем состоянии. Активное окно остаётся активным по прежнему. SW_SHOWNOACTIVATE Выводит окно в его последнем положении и с последними используемыми размерами. Активное окно остаётся активным по прежнему. SW_SHOWNORMAL Выводит окно. Если оно было свёрнуто или развёрнуто - восстанавливает его оригинальные размеры и позицию |
||||
|
|||||
| Akella |
|
||||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 36 Всего: 329 |
в событии OnHide основной формы
Добавлено @ 10:27 еще
Добавлено @ 10:30 попробуй пользоваться поиском на форуме, а еще у нас есть огромный FAQ, обратись к Alex`у |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |