![]() |
|
![]() ![]() ![]() |
|
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Всем привет!
Делаю так, что при открытии дочернего окна из главного, новое окно встраивается в PageControl (через Dock). При открытии дочерних окон внутри него, окна также встраиваются в текущую страницу поверх уже существующих. Т.е. : (далее идут скрины одной из страниц PageControl) Form2: ![]() Form3 (поверх Form2): ![]() Form4 (поверх Form3): ![]() Но, это как-то скучновато ![]() Решил сделать так: Form2: ![]() Form3 (поверх Form2): ![]() Form4 (поверх Form3): ![]() Так уже лучше ![]() Сделал так: при создании нового окна, делается скрин текущего, затем затемняется и вставляется в Image, который находится на новой форме. Но возникли проблемы. При ресайзинге, нужно пробежаться по всему дереву окон (с самого низа) и повторить операцию. В этом случае, происходит сильное мигание. DoubleBuffered помог. Но теперь при ресайзинге появились тормоза. Собственно, вопрос в том, как всё это дело можно оптимизировать. Или может есть другой подход?.. Спасибо. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Решил проблему следующим образом:
при ресайзинге, скрываю Image и не произвожу никаких расчётов, т.е. фон просто остаётся тёмно серым (таким я его сделал заранее). После окончания ресайзинга, через несколько сотен миллисекунд, произвожу все нужные расчёты и делаю видимым Image. Благодаря этому, нет никаких глюков и тормозов. А главное смотрится отлично. Я ещё сделал чтобы при отображении Image'а после ресайзинга, изображение появлялось плавно. Эффект классно работает. Но только если размеры окна небольшие. Если же окно максимально растянуть, то появляются мини тормоза при отрисовке. Они не сильно заметны, но я всё равно решил отказаться от этого эффекта. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
Sonic7272 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 18.9.2009 Репутация: 3 Всего: 3 |
Попробуй использовать свойства формы AlphaBlend и AlphaBlendValue. Тоже оригинально.
|
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Sonic7272, спасибо. Подумаю над этим.
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |