ANI光标播放

时间:2011-12-26 15:51:49

标签: delphi delphi-xe2

我有一个表格“TForm1”有一个“TAnimate1”。我有一个AVI资源作为文件名“Animate 01.avi”,资源标识符为“AVI”,一个“动画光标”为文件名“Cursor 01.ani”,资源标识符为“8”。我希望播放“Animate 01。 avi“on”FormCreate“事件并将默认光标设置为”8“。我正在使用“Delphi XE2”。

以下是代码:

unit KoushikHalder01;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Vcl.ExtCtrls,
  Vcl.ComCtrls;

type
  TForm01 = class(TForm)
    BitBtn01: TBitBtn;
    BitBtn02: TBitBtn;
    Label01: TLabel;
    Label08: TLabel;
    Timer01: TTimer;
    Timer02: TTimer;
    Animate01: TAnimate;
    procedure Timer01Timer(Sender: TObject);
    procedure Timer02Timer(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure FormHide(Sender: TObject);
    procedure BitBtn01MouseEnter(Sender: TObject);
    procedure BitBtn02MouseEnter(Sender: TObject);
    procedure BitBtn01MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn02MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BitBtn01MouseLeave(Sender: TObject);
    procedure BitBtn02MouseLeave(Sender: TObject);
    procedure BitBtn02Click(Sender: TObject);
    procedure BitBtn01Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form01: TForm01;

implementation

{$R *.dfm}
{$R KoushikHalder.res}

procedure TForm01.BitBtn01Click(Sender: TObject);
begin
   Timer01.Enabled := true
end;

procedure TForm01.BitBtn01MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   BitBtn01.Font.Color :=10379745;
end;

procedure TForm01.BitBtn01MouseEnter(Sender: TObject);
begin
   BitBtn01.Font.Color :=16711825;
end;

procedure TForm01.BitBtn01MouseLeave(Sender: TObject);
begin
   BitBtn01.Font.Color :=15756035;
end;

procedure TForm01.BitBtn02Click(Sender: TObject);
begin
   Timer02.Enabled := true
end;

procedure TForm01.BitBtn02MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   BitBtn02.Font.Color :=10379745;
end;

procedure TForm01.BitBtn02MouseEnter(Sender: TObject);
begin
   BitBtn02.Font.Color :=16711825;
end;

procedure TForm01.BitBtn02MouseLeave(Sender: TObject);
begin
   BitBtn02.Font.Color :=15756035;
end;

procedure TForm01.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   Timer02.Enabled := true
end;

procedure TForm01.FormCreate(Sender: TObject);
begin
  Timer01.Enabled := true;
  Screen.Cursors[8] := LoadCursor(HInstance, '8');
  with Animate01 do begin
   Animate01.ResName :='KoushikHalder.avi';
   Animate01.ResHandle:=HInstance;
   Active := true;
  end
end;

procedure TForm01.FormHide(Sender: TObject);
begin
   Timer02.Enabled := true
end;

procedure TForm01.FormShow(Sender: TObject);
begin
   Timer01.Enabled := true
end;

procedure TForm01.Timer01Timer(Sender: TObject);
begin
  if Form01.AlphaBlendValue >= 200 then
  Timer01.Enabled := false
  else
  Form01.AlphaBlendValue := Form01.AlphaBlendValue + 25;
end;

procedure TForm01.Timer02Timer(Sender: TObject);
begin
  if Form01.AlphaBlendValue <= 0 then
   Timer02.Enabled := false
   else
   Form01.AlphaBlendValue := Form01.AlphaBlendValue - 25;
   if Form01.AlphaBlendValue <= 0 then
   close;
end;

end.

我无法播放avi并在FormCreate事件上设置ani光标。

0 个答案:

没有答案