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

на главную - закладки

Жанры

Шрифт:

• 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. Второгодка
Фантастика:
героическая фантастика
альтернативная история
сказочная фантастика
6.25
рейтинг книги
Второгодка. Книга 4. Подавать холодным

Последнее слово за мной

Полякова Татьяна Викторовна
Детективы:
криминальные детективы
8.72
рейтинг книги
Последнее слово за мной

Сын рыбака

Лацис Вилис Тенисович
Проза:
советская классическая проза
5.00
рейтинг книги
Сын рыбака

Кодекс Охотника. Книга XXXVIII

Винокуров Юрий
38. Кодекс Охотника
Фантастика:
фэнтези
боевая фантастика
попаданцы
юмористическое фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга XXXVIII

Экстр

Зинделл Дэвид
3. Реквием по Homo Sapiens
Фантастика:
научная фантастика
6.25
рейтинг книги
Экстр

Офицеры и джентльмены

Во Ивлин
Проза:
современная проза
7.00
рейтинг книги
Офицеры и джентльмены

Выход где вход

Алексеева Татьяна Сергеевна
Проза:
современная проза
5.00
рейтинг книги
Выход где вход

Собрание сочинений Том 10

Лесков Николай Семенович
10. Собрание сочинений в одиннадцати томах
Проза:
русская классическая проза
5.00
рейтинг книги
Собрание сочинений Том 10

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

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

Князь Мещерский

Дроздов Анатолий Федорович
3. Зауряд-врач
Фантастика:
альтернативная история
8.39
рейтинг книги
Князь Мещерский

Чертов мост, или Моя жизнь как пылинка. Истории : (записки неунывающего)

Симуков Алексей Дмитриевич
Символы времени
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
Чертов мост, или Моя жизнь как пылинка. Истории : (записки неунывающего)

Любовь и магия (сборник)

Гаврилова Анна Сергеевна
Колдовские миры
Фантастика:
фэнтези
мистика
8.38
рейтинг книги
Любовь и магия (сборник)

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

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

Волшебница-самозванка

Набокова Юлия
1. Волшебница-самозванка
Фантастика:
юмористическое фэнтези
8.27
рейтинг книги
Волшебница-самозванка