读书人

delphi timer 缓慢停止的效果,该如何解

发布时间: 2012-02-07 17:45:36 作者: rapoo

delphi timer 缓慢停止的效果
一个文本内容在label中滚动,当我按下停止时,time缓慢的停止,就是文本的内容慢慢的挺下来,这个要怎么实现,求高手解答。。

[解决办法]
设一个自增变量i,可以用一个label和panle组合实现,通常label 从panel顶移到panel底,然后重新回到顶端,移动写在timer里,位置移动变量i,点击停止后i自减,也就是看起来移动速度慢了,方法不便,一直到i小于某个数值后,label不再移动停在panel中央,i重置,timer停止,搞定
[解决办法]
panel为一个label大小,无边框
label同上,透明
[解决办法]

Delphi(Pascal) code
unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, ExtCtrls, StdCtrls;type  TForm1 = class(TForm)    Button1: TButton;    Label1: TLabel;    Timer1: TTimer;    procedure Timer1Timer(Sender: TObject);    procedure Button1Click(Sender: TObject);    procedure FormCreate(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;var  Speed: Single = 1.0;  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin  Speed := 1.1;end;procedure TForm1.FormCreate(Sender: TObject);begin  Timer1.Interval := 25 ;end;procedure TForm1.Timer1Timer(Sender: TObject);begin  Timer1.Interval :=  Round(Timer1.Interval * Speed );  if Timer1.Interval > 1000 then   Timer1.Enabled := False;  Label1.Left := Label1.Left + 2;end;end. 

读书人网 >.NET

热点推荐