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

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

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


Ответ
 
Опции темы
Старый 06.08.2014, 18: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, 18:58   #2
alextrof94
Форумчанин
 
Регистрация: 16.03.2013
Сообщений: 599
По умолчанию

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

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

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

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

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

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

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

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

Последний раз редактировалось Silver_S; 07.08.2014 в 22:48.
Silver_S вне форума Ответить с цитированием
Старый 07.08.2014, 22: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, 16:46   #10
ЛДЕ
Новичок
Джуниор
 
Регистрация: 22.07.2011
Сообщений: 2
По умолчанию

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

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

Опции темы


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