Реферат по предмету "Программирование"


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

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

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


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.