TAniImage

unit  AniImage ;
{* |<PRE>
================================================================================
* 软件名称:FHT GPS车辆监控管理系统
* 单元名称:AniImage
* 单元作者:HsuChong@hotmail.com
* 备    注:
* 开发平台:PWin2003Standard + Delphi 7.1
* 修改记录:2007.3.2 创建单元
================================================================================
|</PRE>}

interface

uses
   Windows ,  Messages ,  SysUtils ,  Classes ,  Controls ,  ExtCtrls ;

type
   TAniImage  =  class ( TImage )
   private
     fTimer :  TTimer ;
     fImageList :  TImageList ;
     fCurrImage :  Integer ;
     procedure  OnTimer ( Sender :  TObject );
   protected
     procedure  SetImageList ( Value :  TImageList );
     procedure  SetActive ( Value :  Boolean );
     function  GetActive :  Boolean ;
     procedure  SetInterval ( Value :  Integer );
     function  GetInterval :  Integer ;
   public
     constructor  Create ( AOwner :  TComponent );  override ;
   published

     property  ImageList :  TImageList  read  FImageList  write  SetImageList ;

     property  Active :  Boolean  read  GetActive  write  SetActive  default  False ;
     property  Interval :  Integer  read  GetInterval  write  SetInterval  default  500 ;
   end ;

procedure  Register ;

implementation

procedure  Register ;
begin
   RegisterComponents ( 'FHTGPS' ,  [ TAniImage ]);
end ;

constructor  TAniImage . Create ( AOwner :  TComponent );
begin
   inherited  Create ( AOwner );
   Self . Transparent  :=  True ;
   // create the timer
   fTimer  :=  TTimer . Create ( self );
   fTimer . OnTimer  :=  OnTimer ;
   fTimer . Enabled  :=  False ;
   fTimer . Interval  :=  500 ;
end ;

procedure  TAniImage . SetActive ( Value :  Boolean );
begin
   fTimer . Enabled  :=  Value ;
end ;

function  TAniImage . GetActive :  Boolean ;
begin
   Result  :=  fTimer . Enabled ;
end ;

procedure  TAniImage . SetInterval ( Value :  Integer );
begin
   fTimer . Interval  :=  Value ;
end ;

function  TAniImage . GetInterval :  Integer ;
begin
   Result  :=  fTimer . Interval ;
end ;

procedure  TAniImage . SetImageList ( Value :  TImageList );
begin
   if  fImageList  <>  Value  then
     fImageList  :=  Value ;
end ;

procedure  TAniImage . OnTimer ( Sender :  TObject );
begin
   if  Assigned ( fImageList )  then
   begin
     Self . Picture . Bitmap  :=  nil ;
     fImageList . GetBitmap ( fCurrImage ,  Self . Picture . Bitmap );
     Inc ( fCurrImage );
     if  fCurrImage  >=  fImageList . Count  then
       fCurrImage  :=  0 ;
   end ;
end ;

end . 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值