Чтение онлайн

на главную

Жанры

Шрифт:

• aviNone – отсутствие стандартной анимации;

• aviCopyFile – копирование файла;

• aviCopyFiles – копирование файлов;

• aviDeleteFile—удаление файла;

• aviEmptyRecycle – очистка Корзины;

• aviFindComputer – поиск компьютера;

• aviFindFile – поиск файла;

• aviFindFolder – поиск папки;

• aviRecycleFile – перемещение файла в Корзину.

При присвоении свойству CommonAVI значения, отличного от aviNone, свойство FileName автоматически сбрасывается, принимая в качестве значения пустую строку.

Для задания видеоклипа также можно использовать ResHandle типа THandle и ResID типа Integer,

которые составляют альтернативу свойствам CommonAVI и FileName. Значение ResHandle задает ссылку на модуль, в котором содержится изображение в виде ресурса, а значение свойства ResID в этом модуле указывает номер ресурса.

После выбора видеоклипа свойства FrameCount, FrameHeight и FrameWidth типа Integer определяют следующие параметры клипа: количество, высоту и ширину кадров (в пикселах) соответственно. Эти свойства являются свойствами времени выполнения, следовательно, доступны только для чтения.

По умолчанию размеры компонента Animate автоматически подстраиваются под размеры кадров видеоклипа, это определяет значение True свойства AutoSize. Если этому свойству присвоить значение False, то возможно отсечение части кадра изображения, если его размеры превышают размеры компонента Animate.

Воспроизведение видеоклипа начинается при установке свойству Active значения True. Начальный и конечный кадры задают диапазон воспроизведения и определяются соответственно значениями свойств StartFrame и StopFrame типа Small Int. По умолчанию StartFrame указывает на первый кадр анимации, и его значение равно 1.

Свойство Repetitions типа Integer определяет количество повторений воспроизведения видеоклипа. По умолчанию его значение равно нулю. В этом случае видеоклип проигрывается до тех пор, пока процесс воспроизведения не будет остановлен.

Для запуска и остановки воспроизведения клипов можно использовать методы Play, Stop и Reset. Процедура Play (FromFrame: Word, ToFrame: Word, Count: Integer) проигрывает видеоклип, начиная с кадра, заданного параметром FromFrame, и заканчивая кадром, заданным параметром ToFrame. Параметр Count определяет количество повторений. Таким образом, эта процедура позволяет одновременно управлять StartFrame, StopFrame и Repetitions, задавая для них требуемые при воспроизведении значения, а также устанавливает свойству Active значение True.

Свойство Open типа Boolean доступно при выполнении программы и позволяет определить, готов ли компонент Animate к воспроизведению. Если выбор и загрузка видеоклипа проходят успешно, то свойству Open автоматически устанавливается значение True, компонент можно открыть и проиграть анимацию. При неуспешном завершении загрузки видеоклипа это свойство получает значение False. При необходимости программист может сам устанавливать свойству Open значение False, тем самым отключая компонент Animate.

Процедура Stop прерывает воспроизведение видеоклипа и устанавливает свойству Active значение False. Процедура Reset, кроме того, дополнительно сбрасывает свойства StartFrame и StopFrame, устанавливая значения по умолчанию.

В качестве примера, наглядно отражающего работу компонента Animate, рассмотрим приложение для просмотра стандартной анимации операционной системы Windows.

Стандартный видеоклип можно просмотреть, нажав кнопку Просмотр, предварительно выбрав анимацию в группе независимых переключателей. Клип воспроизводится непрерывное количество раз с первого до последнего

кадра. Чтобы прервать воспроизведение, необходимо нажать кнопку Стоп. Окно приложения приведено на рис. 5.2.

Рис. 5.2. Приложение для просмотра стандартной анимации

Рассмотрим исходный текст приложения подробно. Для работы программы необходим набор констант, значения которых может принимать свойство CommonAVI. Поэтому в начале программы объявляем константный массив Typeof AVI типа ТCommonAVI, который и будет содержать необходимые значения:

...

const TypeofAVI: array[0..8] of TCommonAVI =

(aviNone, aviCopyFile, aviCopyFiles,

aviDeleteFile, aviEmptyRecycle,

aviFindComputer, aviFindFile,

aviFindFolder, aviRecycleFile);

При создании главного окна приложения устанавливаем положение переключателя в группе выбора анимации:

...

procedure TFormViewAnim.FormCreate(Sender: TObject);

begin

//Стандартная анимация «Копирование файла»

RadioGroupSelectAnimEffects.ItemIndex := 1;

end;

Создаем обработчик выбора группы независимых переключателей. При выборе анимации первым делом устанавливается доступность кнопок управления. Далее задается вид воспроизводимого ролика (например, Копирование файлов). В блоке if происходит проверка индекса выбранной анимации, и если она не выбрана (индекс равен 0), то блокируется кнопка Просмотр, так как в этом случае просмотр стандартной анимации невозможен (листинг 5.5).

...

Листинг 5.5. Обработчик выбора анимационных роликов

//Выбор стандартной анимации

procedure TFormViewAnim.RadioGroupSelectAnimEffectsClick(Sender:

TObject);

begin

//Устанавливаем доступность кнопок управления

bnStopView.Enabled := False;

bnStartView.Enabled := True;

//Устанавливаем значение свойства CommonAVI

StandartAnimate.CommonAVI :=

TypeofAVI[RadioGroupSelectAnimEffects.ItemIndex];

//Если анимация не выбрана, делаем недоступной

//кнопку старта показа

if RadioGroupSelectAnimEffects.ItemIndex = 0

then bnStartView.Enabled := False

else bnStopView.Enabled := True;

end;

Значения индексов (RadioGroupSelectAnimEf f ects. Itemlndex) переключателей соответствуют порядковым номерам в массиве Typeof AVI, который содержит возможные значения свойства CommonAVI.

При нажатии кнопки начала показа происходит вызов метода Play компонента Animate и устанавливается доступность кнопок управления показом:

...

//Старт показа

procedure TFormViewAnim.bnStartViewClick(Sender: TObject);

begin

//Начинаем показ выбранной анимации

StandartAnimate.Play(1, StandartAnimate.FrameCount, 0);

bnStartView.Enabled := False;

bnStopView.Enabled := True;

end;

Обработчик кнопки Стоп основан на вызове метода Stop компонента Animate и выглядит следующим образом:

Поделиться:
Популярные книги

Как я строил магическую империю 4

Зубов Константин
4. Как я строил магическую империю
Фантастика:
боевая фантастика
постапокалипсис
аниме
фантастика: прочее
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 4

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Попаданка 3

Ахминеева Нина
3. Двойная звезда
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Попаданка 3

Муж на сдачу

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Муж на сдачу

Призыватель нулевого ранга. Том 3

Дубов Дмитрий
3. Эпоха Гардара
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Призыватель нулевого ранга. Том 3

На границе империй. Том 10. Часть 5

INDIGO
23. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 5

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

На границе империй. Том 7

INDIGO
7. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
6.75
рейтинг книги
На границе империй. Том 7

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

О, Путник!

Арбеков Александр Анатольевич
1. Квинтет. Миры
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
О, Путник!

Чужбина

Седой Василий
2. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужбина

Бестужев. Служба Государевой Безопасности. Книга четвертая

Измайлов Сергей
4. Граф Бестужев
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга четвертая

Локки 5. Потомок бога

Решетов Евгений Валерьевич
5. Локки
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Локки 5. Потомок бога

На границе империй. Том 10. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 4