bdp8 | Bonjour,
j'ai un probléme concernant le Trackbar , voila je veux faire un bandeau déroulant avec un Timer et un trackbar qui augmente la vitesse de défilement.
Bon j'arrive a faire le défilement, cependant Ce que j'ai c'est que lorsque je change le trackbar ( onchange associé au Timer) la vitesse augmente mais juste si je reste appuyer sur le trackbar.
Ensuite la vitesse diminue lorsque j'arrête d'appuyé sur le trackbar.
Est ce que qqun aurait une idée là-dessus ?
Code :
- unit Unit1;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ExtCtrls, StdCtrls, Spin, ComCtrls;
- type
- TForm1 = class(TForm)
- Label1: TLabel;
- Timer1: TTimer;
- Panel1: TPanel;
- Button3: TButton;
- TrackBar1: TTrackBar;
- procedure Button3Click(Sender: TObject);
- procedure Timer1Timer(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- private
- { Déclarations privées }
- public
- { Déclarations publiques }
- end;
- var
- Form1: TForm1;
- implementation
- {$R *.dfm}
- procedure TForm1.Timer1Timer(Sender: TObject);
- begin
- if label1.Left <=4-label1.Width/2 then //si tu es un pixel avant la moitié du texte
- label1.left:=3 else //reviens au debut du texte
- label1.Left := label1.Left-1;//sinon decale de 1 pixel
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- //Timer1.Enabled := not Timer1.Enabled;//juste pour interompre le defilement
- end;
- procedure TForm1.Button3Click(Sender: TObject);
- begin
- Timer1.Enabled := not Timer1.Enabled;
- panel1.Left:=round((Form1.Width-Panel1.Width)/2)-5;
- end;
- end.
|
|