Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Эффект затемнения окон 
V
    Опции темы
artsb
Дата 15.9.2010, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Всем привет!

Делаю так, что при открытии дочернего окна из главного, новое окно встраивается в PageControl (через Dock). При открытии дочерних окон внутри него, окна также встраиваются в текущую страницу поверх уже существующих. Т.е. :
(далее идут скрины одной из страниц PageControl)
Form2:
user posted image
Form3 (поверх Form2):
user posted image
Form4 (поверх Form3):
user posted image

Но, это как-то скучновато smile
Решил сделать так:
Form2:
user posted image
Form3 (поверх Form2):
user posted image
Form4 (поверх Form3):
user posted image
Так уже лучше smile
Сделал так: при создании нового окна, делается скрин текущего, затем затемняется и вставляется в Image, который находится на новой форме.
Но возникли проблемы. При ресайзинге, нужно пробежаться по всему дереву окон (с самого низа) и повторить операцию. В этом случае, происходит сильное мигание. DoubleBuffered помог. Но теперь при ресайзинге появились тормоза.

Собственно, вопрос в том, как всё это дело можно оптимизировать. Или может есть другой подход?..
Спасибо.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
artsb
Дата 16.9.2010, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Решил проблему следующим образом:
при ресайзинге, скрываю Image и не произвожу никаких расчётов, т.е. фон просто остаётся тёмно серым (таким я его сделал заранее). После окончания ресайзинга, через несколько сотен миллисекунд, произвожу все нужные расчёты и делаю видимым Image. Благодаря этому, нет никаких глюков и тормозов. А главное смотрится отлично.
Я ещё сделал чтобы при отображении Image'а после ресайзинга, изображение появлялось плавно. Эффект классно работает. Но только если размеры окна небольшие. Если же окно максимально растянуть, то появляются мини тормоза при отрисовке. Они не сильно заметны, но я всё равно решил отказаться от этого эффекта.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Sonic7272
Дата 17.9.2010, 05:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 18.9.2009

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



Попробуй использовать свойства формы AlphaBlend и AlphaBlendValue. Тоже оригинально.  
PM MAIL   Вверх
artsb
Дата 17.9.2010, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

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



Sonic7272, спасибо. Подумаю над этим.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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