Бесплатные Рефераты >>> Информатика, Программирование  



 

 

Анимация без лишних усилий

 

Анимация без лишних усилий

Сегодня мы поговорим о том, как достичь красивой анимации. Для этого не нужно писать килобайты кода или строить программу на технологии 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 есть ещё несколько флагов, с помощью которых можно достичь довольно впечатляющие результаты:

AW_HOR_POSITIVE - анимирует форму слева направо

AW_HOR_NEGATIVE - анимирует форму справа налево

AW_VER_POSITIVE - анимирует форму сверху вниз

AW_VER_NEGATIVE - анимирует форму снизу вверх

AW_CENTER - анимирует форму из центра

С помощью этой технологии удобно демонстрировать слайды. А если одновременно ещё и использовать альфа-смешивание, то получится очень впечатляюще.

Дырявая форма

При использовании компонента TShape можно сделать в форме дырку. Положите на форму TShape и присвойте свойству Brush.Color := clGreen. А если ещё и присвоить свойству формы FormStyle := fsStayOnTop то через форму можно не только смотреть на то, что находите позади неё, но и нажимать на кнопки, редактировать текст и т.п. Трюк "Летающие кнопки": расположите TShape на форму (Shape := stRectangle, Brush.Color := clRed), присвойте свойству Align := alClient и присвойте свойству формы BorderStyle = bsNone. Далее добавьте на форму кнопки и другие элементы управления.

Масштабирование

Ну и на последок я расскажу про полезную возможность масштабирования. Само масштабирование производит метод ScaleBy класса TForm. Свойства PixelPerInch и Scaled позволяют Delphi автоматически изменять размер формы в случае если приложение запускается с использованием системного шрифта другого размера. Сам метод масштабирует только содержимое формы, если вы хотите, что бы рамер формы тоже масштабировался вместе с элементами управления, то установите свойство AutoScroll := false.

Список литературы

Для подготовки данной работы были использованы материалы с сайта http://www.soch.imperium.by


 


 

Издание классических литературных текстов в интернете
Издание классических литературных текстов в интернете (Вводные замечания к теме) Владимир Литвинов Введение Настоящие заметки посвящены теме, которая меня давно интересует: что такое текст (по ...

Макросы в Excel
План 1.Введение. 2.Начало пути. 3.Редактирование, удаление, переименование и назначение макросов. 4.Примеры макросов. 5.Заключение. ...

Видеоадаптер EGA, VGA
ВВЕДЕНИЕ Изначально персональные компьютеры IBM PC комплек-товались видеоадаптером MDA с монохромным диплеем. Этот адаптер имел небольшую разрешающую способность, не мог оторажать графическую информацию и был...

Современные средства связи
Сибирская Государственная Геодезическая Академия Реферат на тему «Современные средства связи» Выполнил: Маркин Александр Новосибирск 1999СодержаниеРадио и сотовые средства связи. Краткая история...

Кому нужна Vista?
Кому нужна Vista? Хватит ли мощности вашего компьютера для перехода на Vista? Все ли ваши программы будут поддерживаться новой ОС? Как безопасно перенести данные? В этой статье вы найдете ответы на важные вопросы, связанные с...

Формирование вагонопотоков в электронных таблицах
2 ГОСУДАРСТВЕННОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ДАЛЬНЕВОСТОЧНЫЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ Кафедра «Информационные технологии...

Arvutite ja interneti kasutamine eesti elanike hulgas
Tallinna Polьtehnikum ARVUTITE JA INTERNETI KASUTAMINE EESTI ELANIKE HULGAS Koostaja: Andrei Kьbar PA-96 Tallinn, 1998 SISUKORD: Lьhikokkuvхte Sissejuhatus I Metoodika kirjeldusII...

Арифметические операции с BCD числами
3 По курсу: “Системное программирование и вычислительные системы” На тему: “Арифметические операции с BCD числами” Содержание: ...

Программа по информатике и вычислительной технике
Министерство торговли Российской Федерации Московский государственный университет коммерции Кафедра экономической информатики УТВЕРЖДЕНО: Учебно-методическим советом Института экономики, учета и...

Основные этапы развития компьютерной техники. Сравнительные характеристики компьютеров разных поколений.
1 2 ` Министерство образования Российской Федерации КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ...

Информационная технология
Вариант 1 1. Что такое информационная технология. Главным направлением перестройки менеджмента и его радикального усовершенствования, приспособления к современным условиям стало массовое использование новейшей...