请问!如何能在按钮上播放动画,分不够另开帖!
解决方案 »
- 同步服务器时间莫名其妙,求高手指点!!!!
- 关于图片转换问题
- 通过modem发送数据的问题。搞不定了,高手们来帮帮我啊!呜呜呜...
- 如何在dbgrid或者别的数据库网格中加入dbcheckbox或者其它checkbox控件
- 救命啊!!!关于DBGrid的问题,请各位大侠救救我!!
- 急!在线等待,有关DLL
- 怎么使用一条update语句来更新多个域
- 求教 FMX Mobile的MediaPlay没效果
- SQL中怎样保存Image字段,为什么使用流会发生读取错误?急急急。。。。
- 我想做个启动画面,不知如何实现,请大侠帮忙!小弟初学Delphi?
- socket编程中如何进行重新连接?
- 惊爆!WPS2005界面是DELPHI开发的,有强力证据!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton; //放一个button,你可以设置一下enabled 属性看看效果
Timer1: TTimer; //timer 组件,更换图象;
ImageList1: TImageList; //imagelist ,增加几组图象
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
c:TCanvas; //画布
implementation{$R *.dfm}procedure TForm1.Timer1Timer(Sender: TObject);
begin
if ImageList1.Tag<ImageList1.Count-1 then
begin
ImageList1.Draw(c,0,0,imageList1.Tag+1,button1.Enabled); //绘制到目标
imagelist1.Tag := imagelist1.Tag+1;
end else imagelist1.Tag :=0;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
c:=TCanvas.Create;
c.Handle := GetDc(self.Button1.Handle); //获取dc
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
c.Free; //释放
end;end.
如果用bitbtn或者speedbutton会更简单一些procedure TForm1.Timer1Timer(Sender: TObject);
begin
if i=5 then i:=1;
inc(i);
BitBtn1.Glyph.LoadFromFile('D:\'+inttostr(i)+'.bmp');//这里修改要显示的一系列图片路径和名称
可以通过设置timer的Interval属性来控制图片改变的频率
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
i : Integer;
bmp : TBitmap;
begin
if BitBtn1.Tag>=7 then
begin
BitBtn1.Tag := 0;
end; bmp := TBitmap.Create;
bmp.Width := ImageList1.Width;
bmp.Height := ImageList1.Height; ImageList1.GetBitmap(BitBtn1.Tag,bmp);
BitBtn1.Glyph := bmp; i := BitBtn1.Tag;
Inc(i);
BitBtn1.Tag := i;
bmp.Free;
end;