Шаг 10.
Вкладка Win32. Компонент TAnimate

    На этом шаге мы рассмотрим компонент TAnimate.

    Компонент TAnimate (Анимация AVI) позволяет организовать в форме небольшую анимацию - воспроизвести клип в формате AVI без воспроизведения звука. В зависимости от цели применения компонент TAnimate можно настроить заранее на этапе проектирования или динамически во время работы программы.

    Рассмотрим свойства компонента TAnimate.

   
Таблица 1. Свойства компонента TAnimate
Свойство Описание
property Active: Boolean; Разрешает/запрещает демонстрацию клипа. Во время демонстрации содержит значение True
property AutoSize: Boolean; Если содержит значение True, компонент автоматически устанавливает свои размеры так, чтобы полностью вместить изображение кадра
property Center: Boolean; Центрирует изображение кадра в границах компонента по горизонтали и по вертикали
type TCommonAVI = (aviNone, aviFindFolder, aviFindFile, aviFindComputer, aviCopyFiles, aviCopyFile, aviRecycleFile, aviEmptyRecycle, aviDeleteFile);
property CommonAVI: TCommonAVI;
Задает один из стандартных видеоклипов, входящих в библиотеку SHELL32.DLL. Значения свойства:
  • aviNone - клип указан в свойстве FileName;
  • aviFindFolder - поиск папки;
  • aviFindFile - поиск файла;
  • aviFindComputer - поиск компьютера;
  • aviCopyFiles - копирование файлов;
  • aviCopyFile - копирование файла;
  • aviRecycleFile - перемещение файла в корзину;
  • aviEmptyRecycle - очистка корзины;
  • aviDeleteFile - удаление файла.
property FileName: TFileName; Связывает компонент с AVI-файлом
property FrameCount: Integer; Содержит количество кадров, показанных с начала демонстрации клипа
property FrameHeight: Integer; Высота в пикселях одного кадра клипа
property FrameWidth: Integer; Ширина клипа
property Open: Boolean; Содержит значение True, если компонент связан с AVI-клипом и готов к работе
property Repetitions: Integer; Определяет количество повторений клипа. Если 0, клип повторяется до тех пор, пока свойство Active содержит значение True
property ResName: String; Определяет имя ресурса с клипом в ресурсном файле
property StartFrame: SmallInt; Содержит номер начального кадра демонстрации (нумерация кадров начинается с 1)
property StopFrame: SmallInt; Содержит номер конечного кадра демонстрации (нумерация кадров начинается с 1)
property Timers: Boolean; Разрешает/запрещает синхронизацию по таймеру. Если содержит значение True, демонстрация синхронизируется сигналами таймера. Если содержит значение False, для демонстрации используется независимый поток команд
property Transparent: Boolean; Если содержит значение True, фон клипа не накладывается на фон компонента


Рис.1. Стандартные видеоклипы, определяемые свойством CommonAVI

    Методы компонента перечислены в таблице 2.

Таблица 2. Методы компонента TAnimate
Метод Описание
procedure Play (FromFrame, ToFrame: Word; Count: Integer); Демонстрирует Count раз подряд фрагмент клипа, начиная с кадра FromFrame по ToFrame включительно (нумерация кадров начинается с 1)
procedure Reset; Восстанавливает исходное состояние компонента. Свойство Open вновь становится равным значению True, но свойство Active=False
procedure Seek (Frame: SmallInt); Пропускает (не показывает) кадр с номером Frame (нумерация кадров начинается с 1)
procedure Stop; Прекращает показ клипа

    События компонента TAnimate перечислены в таблице 3.

Таблица 3. События компонента TAnimate
Событие Описание
property OnClose: TNotifyEvent; Возникает при установке значения False в свойство Open
property OnOpen: TNotifyEvent; Возникает при установке значения True в свойство Open
property OnStart: TNotifyEvent; Возникает в момент начала демонстрации
property OnStop: TNotifyEvent; Возникает в момент прекращения демонстрации

    Для запуска клипа можно использовать следующий обработчик щелчка кнопки:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Animate1.Open := True;
  Animate1.Active := True;
end;

    Разумеется, посмотреть фильм, если даже файл с фильмом имеет расширение .avi, вы не сможете. Просматривать можно только специально подготовленные клипы.

    Если вы захотите посмотреть компонент в действии (рис.1), выполните следующее:


Рис.2. Демонстрация компонента

   

Текст этого примера можно взять здесь.

    На следующем шаге мы рассмотрим компонент TDateTimePicker.




Предыдущий шаг Содержание Следующий шаг