Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание хитрого дочернего окна 
:(
    Опции темы
ilya198293
Дата 19.6.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 17.3.2007
Где: Сириус, созвездие Большого Пса

Репутация: нет
Всего: нет



Хочу создать дочернее окошко(наховём его XXX), которое всегда было бы поверх приложения, причём модальные окна основного окна не должны блокировать XXX. А также это окно бы создавалось из любого окна: основного, модального и др. и существовало не зависимо от того что происходит в других окнах. Например запустил модальное окно, вызвал ХХХ поверх всего, поработал в модальном при этом ХХХ всегда сверху, закрыл модальное, ХХХ осталось поверх всего.
--------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре.
PM MAIL   Вверх
Snowy
Дата 19.6.2008, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Установи FormStyle := fsStayOnTop
PM MAIL   Вверх
ilya198293
Дата 19.6.2008, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 17.3.2007
Где: Сириус, созвездие Большого Пса

Репутация: нет
Всего: нет



Модальная форма забивает форму ХХХ и она становится в фоне.
--------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре.
PM MAIL   Вверх
pseud
Дата 19.6.2008, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Цитата(Snowy @  19.6.2008,  12:30 Найти цитируемый пост)
Установи FormStyle := fsStayOnTop


+ к этому :

Код

procedure TXXXForm.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.ExStyle := Params.ExStyle or WS_EX_TOPMOST; // делаем форму самой верхней, т.к. св-во FormStyle(fsStayOnTop) не качественно отрабатывает
end;




--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Snowy
Дата 19.6.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Модальные окна забивают основной тред.
В этом их суть.
Пока оно не погашено, приложению чихать на ЛЮБЫЕ другие окна, работающие в данном треде.
Либо не используй модальные окна, либо создавай своё суперокно на чистом API в отдельном треде.
PM MAIL   Вверх
ilya198293
Дата 20.6.2008, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 17.3.2007
Где: Сириус, созвездие Большого Пса

Репутация: нет
Всего: нет



Код

procedure TXXXForm.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.ExStyle := Params.ExStyle or WS_EX_TOPMOST; // делаем форму самой верхней, т.к. св-во FormStyle(fsStayOnTop) не качественно отрабатывает
end;


а где эту процедуру нужно задействовать?
дописать то дописал, но как сделать чтоб она работала?
--------------------
Недавно пытался объяснить сыну, кто такой модератор. Сошлись на Мойдодыре.
PM MAIL   Вверх
pseud
Дата 20.6.2008, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



Код

type
  TXXXForm = class(TForm)
  private
  protected
    procedure CreateParams(var Params: TCreateParams); override;
   ...


Это сообщение отредактировал(а) pseud - 20.6.2008, 09:54


--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.