Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 06.08.2014, 17:17   #1
ЛДЕ
Новичок
Джуниор
 
Регистрация: 22.07.2011
Сообщений: 2
По умолчанию Главное окно позади остальных окон внутри приложения

Здравствуйте. Пробовала реализацию с
SetWindowPos (Handle, HWND_BOTTOM, 0, 0, 0, 0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE). Так не подходит, т.к. окно открывается позади любых окон. Нужно, чтобы окно перекрывалось только окнами собственного приложения.
ЛДЕ вне форума Ответить с цитированием
Старый 06.08.2014, 17:58   #2
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Так ты наоборот окна наверх поднимай, которые надо поднимать наверх...
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 07.08.2014, 12:38   #3
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

Всем окнам, кроме главного, задать FormStyle = fsStayOnTop
Silver_S вне форума Ответить с цитированием
Старый 07.08.2014, 14:51   #4
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Цитата:
Сообщение от Silver_S Посмотреть сообщение
Всем окнам, кроме главного, задать FormStyle = fsStayOnTop
это вызовет проблемы с посторонними приложениями, которые не смогут быть поверх этих окон.
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 07.08.2014, 15:20   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,455
По умолчанию

Писать MDI-оконное приложение.
Человек_Борща вне форума Ответить с цитированием
Старый 07.08.2014, 18:06   #6
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

Цитата:
Сообщение от alextrof94 Посмотреть сообщение
это вызовет проблемы с посторонними приложениями, которые не смогут быть поверх этих окон.
На посторонних приложениях это никак не сказывается. Например, так устроен интерфейс Delphi в классическом стиле.
Silver_S вне форума Ответить с цитированием
Старый 07.08.2014, 19:56   #7
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

Цитата:
Сообщение от Silver_S Посмотреть сообщение
На посторонних приложениях это никак не сказывается. Например, так устроен интерфейс Delphi в классическом стиле.
StayOnTop заставляет окна быть всегда наверху в коллекции окон рабочего стола, как диспетчер задач.
alextrof94$gmail.com
alextrof94 вне форума Ответить с цитированием
Старый 07.08.2014, 20:46   #8
Silver_S
Форумчанин
 
Регистрация: 14.03.2011
Сообщений: 104
По умолчанию

Цитата:
Сообщение от alextrof94 Посмотреть сообщение
StayOnTop заставляет окна быть всегда наверху в коллекции окон рабочего стола, как диспетчер задач.
Если основное окно приложения не имеет статуса StayOnTop, то "дочерние" окна с установленным свойством StayOnTop перекрывают только основное окно.

Вот только не могу найти, где это описано в доках...

Последний раз редактировалось Silver_S; 07.08.2014 в 21:48.
Silver_S вне форума Ответить с цитированием
Старый 07.08.2014, 21:26   #9
MODBUS
Пользователь
 
Регистрация: 01.08.2014
Сообщений: 81
По умолчанию

1- стили всех окон в StayOnTop
2- в дочерних окнах:
Код:
  protected
    procedure CreateParams(var Params:TCreateParams);override;

...
procedure Tform3.CreateParams;
begin
 inherited;
 Params.WndParent:= form1.Handle
end;
3- F9.

Вопрос решен.
Вложения
Тип файла: zip parent.zip (2.6 Кб, 15 просмотров)
MODBUS вне форума Ответить с цитированием
Старый 10.08.2014, 15:46   #10
ЛДЕ
Новичок
Джуниор
 
Регистрация: 22.07.2011
Сообщений: 2
По умолчанию

Большое спасибо. Проблема решена.
Что самое интересное, это и было мое первое решение, но не понятно по каким причинам начала зависать форма, и я решила, что это как раз из-за StayOnTop. Сейчас опять попробовала - все в норме.
ЛДЕ вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
форма поверх остальных окон Chugun Visual C++ 1 18.02.2013 21:51
Как посмотреть на главное окно приложения в MVS? Sylar9 Win Api 3 07.01.2012 14:45
Окно Позади всех окон Volkogriz Общие вопросы Delphi 5 27.11.2008 17:20
Как сделать так чтобы окно формы всегда было поверх остальных окон? HelloZAPOR Общие вопросы Delphi 5 23.07.2007 07:05


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840