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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Анимация окон как в Vista 
:(
    Опции темы
mr.Anderson
Дата 31.5.2008, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



Появилось желание реализовать плавное появление и скрытие окон, как в Висте, только на XP. Только сколько я ни думал, не смог придумать алгоритм подобного появления.

Что помню:
1. Окно должно появляться, изменяя свою прозрачность от 0 до 255. При скрытии - соответственно, наоборот.
2. Окно при появлении показывается в искаженном виде - расширяясь от низа окна к верху (к заголовку). При скрытии - обратный эффект, идет сужение от низа окна к заголовку.

Вопрос: возможна ли реализация такого красивого появления окон, если да, то предложите, пожалуйста, идеи по этому поводу (или где почитать...).


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
aktuba
Дата 1.6.2008, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

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



Цитата(mr.Anderson @  31.5.2008,  23:54 Найти цитируемый пост)
1. Окно должно появляться, изменяя свою прозрачность от 0 до 255. При скрытии - соответственно, наоборот.

С этим проблем быть не должно. Я у себя реализовывал по таймеру.

Цитата(mr.Anderson @  31.5.2008,  23:54 Найти цитируемый пост)
2. Окно при появлении показывается в искаженном виде - расширяясь от низа окна к верху (к заголовку). При скрытии - обратный эффект, идет сужение от низа окна к заголовку.

А вот с этим вижу только одно решение - рисовать анимацию самому, а потом выводить форму.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
mr.Anderson
Дата 1.6.2008, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



aktuba, рисовать в смысле сделать картинку с анимацией? Или же рисовать по какому-то алгоритму? Если второе, то хотя бы примерно можете алгоритм наметить? У меня прямо никаких мыслей.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
SneG0K
Дата 1.6.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

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



mr.Anderson, Мммм... Меняй свойства формы width и height...
PM WWW Skype   Вверх
aktuba
Дата 1.6.2008, 13:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

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



Цитата(SneG0K @  1.6.2008,  14:05 Найти цитируемый пост)
mr.Anderson, Мммм... Меняй свойства формы width и height... 

Не, не прокатит такое.

Цитата(mr.Anderson @  1.6.2008,  12:39 Найти цитируемый пост)
aktuba, рисовать в смысле сделать картинку с анимацией?

Да, рисуешь анимацию на рабочем столе, а потом выводишь форму.

Добавлено через 48 секунд
SneG0K, поправь подпись, там ошибка про delphi ;)


--------------------
user posted image
PM MAIL WWW Skype   Вверх
ama_kid
Дата 1.6.2008, 13:23 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

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



Не знаю, как в Vista, еще не имел (не)счастья с ней работать, но чем не вариант? :
Цитата(mr.Anderson @  31.5.2008,  22:54 Найти цитируемый пост)
Окно должно появляться, изменяя свою прозрачность от 0 до 255
AnimateWindow(Self.Handle,400,AW_BLEND);
Цитата(mr.Anderson @  31.5.2008,  22:54 Найти цитируемый пост)
При скрытии - соответственно, наоборот.
AnimateWindow(Self.Handle,400,AW_BLEND or AW_HIDE);
Цитата(mr.Anderson @  31.5.2008,  22:54 Найти цитируемый пост)
Окно при появлении показывается в искаженном виде - расширяясь от низа окна к верху (к заголовку)
AnimateWindow(Self.Handle,400,AW_VER_NEGATIVE);
Цитата(mr.Anderson @  31.5.2008,  22:54 Найти цитируемый пост)
При скрытии - обратный эффект, идет сужение от низа окна к заголовку.
AnimateWindow(Self.Handle,400,AW_VER_NEGATIVE or AW_HIDE);



--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
mr.Anderson
Дата 1.6.2008, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


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

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



ama_kid, а это мысль. Попробуем, спасибо!


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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