Иллюстрированный самоучитель по Delphi 7 для профессионалов

Класс TAnimate

В заключение – несколько слов для тех, кто хочет применить в своих программах анимированные (движущиеся) картинки. Самый простой путь для этого – быстрая смена нескольких последовательных битовых карт. Но, во-первых, их еще нужно нарисовать; во-вторых, если у вас достаточно большие картинки или недостаточно мощный компьютер, обязательно будет заметно мерцание, задержки и другие проблемы с выводом на экран. С появлением очередной версии библиотеки элементов управления COMCTL32 гораздо проще применить готовый компонент TAnimate.

Этот компонент предназначен для воспроизведения на форме файлов формата AVI (audio-video interleaved; появился впервые с выходом пакета Microsoft Video for Windows).

Альтернативными источниками таких файлов могут послужить:

  • файл (с расширением .avi). Его имя нужно задать в свойстве:
property FileName: TFileName;
  • ресурс Windows. Он может быть задан одним из трех свойств:
property ResHandle: THandle;
property ResID: Integer;
property ResName: string;

Наконец, если вы не запаслись своим AVI-файлом, то можете воспользоваться готовым, имеющимся в Windows и иллюстрирующим один из происходящих в системе процессов. Для этого из списка свойства CommonAVI нужно выбрать один из вариантов (рис. 10.4).

Иллюстрированный самоучитель по Delphi 7 для профессионалов › Использование графики › Класс TAnimate
Рис. 10.4. Так выглядит ролик "перенос файлов"

Все эти свойства при своей установке обнуляют прочие альтернативные варианты. Запуск ролика начинается при установке свойства Active в значение True; при этом показываются кадры, начиная с StartFrame и до StopFrame.

Число повторений этой последовательности кадров задается свойством Repetitions; если вам нужен бесконечный цикл, установите это свойство в 0.

Что особенно удобно, компонент TAnimate снимает проблемы синхронизации показа ролика с другими процессами в системе и вашем приложении.

Если свойство Timers равно значению False, показ ролика происходит в отдельном программном потоке и никак не влияет на остальное; если оно равно значению True, ролик синхронизируется по внутреннему таймеру. Вы можете привязать к показу ролика, например, проигрывание звука.

Резюме

Графика – не самый маленький и не самый простой раздел программирования в Windows. Описанные в этой главе объекты Delphi сглаживают многие острые углы, но все равно начинающему программисту без синяков и шишек не обойтись. Если у вас есть время и серьезные намерения, посидите над исходным текстом модуля GRAPHICS.PAS – лучшего пособия для самообразования не найти.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.