Категория
Информатика
Тип
реферат
Страницы
2 стр.
Дата
30.05.2008
Формат файла
.rtf — Rich Text Format (Wordpad)
Архив
20792.zip — 4.44 kb
  • animacija-bez-lishnix-usilij_20792_1.rtf — 15.77 Kb
  • Readme_docus.me.txt — 125 Bytes
Рейтинг
10  из 10
Оценок
1
Оцените работу
Хорошо  или  Плохо


Текст работы

Анимация без лишних усилий
Сегодня мы поговорим о том, как достичь красивой анимации. Для этого не нужно писать килобайты кода или строить программу на технологии Flash. Отличные результаты можно получить используя только функции WinAPI или возможности Delphi. Я рассмотрю несколько таких
необычных возможностей, причем самый большой пример будет состоять из менее чем 10 (!) строк кода.
Альфа-смешивание
Для того, что бы сделать форму полу-прозрачной не надо использовать какие либо компоненты. Не надо даже прописывать ни строчки кода. Что бы сделать форму полу-прозрачной, достаточно присвоить значению TForm.AlphaBlend := true и AlphaBlendValue меньшее чем 255. Чем меньше будет значение AlphaBlendValue, тем прозрачнее будет форма. Можно манипулировать этими значениями и создавать интересные эффекты с помощью циклов. Вот, например, как можно создать красивый эффект при активации формы:
Form1.AlphaBlend := true;
Form1.AlphaBlendValue := 100;
Form1.Show;
for i := 100 to 255 do
begin
Form1.AlphaBlendValue := i;
Application.ProcessMessages;
end;
Следует заметить, что эффект не будет плавным на слабых машинах.
AnimateWindow
В предыдущем примере я показал, как с помощью цикла плавно вывести форму на экран. Для достижения почти такого же эффекта можно воспользоваться WinApi функцией AnimateWindow. Функции передается 3 параметра: hWnd : THandle - дескриптор
окна, которое нужно анимировать; dwTime : Cardinal = время, на протяжении которого будет продолжаться анимация окна; dwFlags : Cardinal; - флаги, определяющие способ анимации. Пример:
AnimateWindow (Form1.Handle, 1000, AW_BLEND);
Form1.Show;
Помимо флага AW_BLEND есть ещё несколько флагов, с помощью



Ваше мнение



CAPTCHA