Листинг 11.1. Использование компонента Animate
unit ShowAVI_; interface
Uses
Windows, Messages, SysUtils,
Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls;
Type
TForm1 = class(TForm)
Animate1: TAnimate; // компонент Animate
Button1: TButton; // кнопка Пуск-Стоп
Button2: TButton; // следующий кадр
Button3: TButton; // предыдущий кадр
RadioButton1: TRadioButton; // просмотр всей анимации
RadioButton2: TRadioButton; // покадровый просмотр
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
Private
{ Private declarations } public
{ Public declarations) end;
Var
Form1: TForm1; // форма
CFrame: integer; // номер отображаемого кадра
// в режиме покадрового просмотра
implementation {$R *.DFM}
// к следующему кадру
procedure TForm1.Button2Click(Sender: TObject);
Begin
if CFrame = 1 then Button2.Enabled:= True;
if CFrame < Animate1.FrameCount then begin
CFrame:= CFrame + 1;
// вывести кадр
Animate1.StartFrame:= CFrame;
Animate1.StopFrame:= CFrame;
Animate1.Active:= True;
if CFrame = Animatel.FrameCount // текущий кадр — последний
then Button2.Enabled:=False;
end;
end;
// к предыдущему кадру
procedure TForm1.Button3Click(Sender: TObject);
Begin
if CFrame = Animate1.FrameCount
then Button2.Enabled:= True;
if CFrame > 1 then begin
CFrame:= CFrame — 1;
// вывести кадр
Animate1.StartFrame:= CFrame;
Animate1.StopFrame:= CFrame;
Animate1.Active:= True;
if CFrame = 1 // текущий кадр — первый
then Form1.Button3.Enabled:= False;
end;
end;
// активизация режима просмотра всей анимации
procedure TForml.RadioButtonlClick(Sender: TObject);
Begin
Buttonl.Enabled:=True; //доступна кнопка Пуск
// сделать недоступными кнопки покадрового просмотра
Form1.Button3.Enabled:=False;
Form1.Button2.Enabled:=False;
end;
// активизация режима покадрового просмотра
procedure TForm1.RadioButton2Click(Sender: TObject);
Begin
Button2.Enabled:=True; // кнопка Следующий кадр доступна
Buttons.Enabled:=False; // кнопка Предыдущий кадр недоступна
// сделать недоступной кнопку Пуск — вывод всей анимации
Buttonl.Enabled:=False; end;
// пуск и остановка просмотра анимации
procedure TForm1.ButtonlClick(Sender: TObject);
Begin
if Animate1.Active = False // в данный момент анимация не выводится
Дата добавления: 2015-09-18 | Просмотры: 480 | Нарушение авторских прав
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
|