Associer un trackbar et un label

Résolu
bdp8 Messages postés 9 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 22 avril 2008 - 5 mai 2007 à 14:44
bdp8 Messages postés 9 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 22 avril 2008 - 6 mai 2007 à 01:10
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 ?

Aidez les jeunes developpers......

10 réponses

florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
5 mai 2007 à 17:26
Ahh zut, problème d'édition avec cette FreeTextBox, je croyais pourtant l'avoir mis mais il faut mettre un "-" (signe moins) ici : "if label1.Left < -
label1.width then"
3
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
5 mai 2007 à 16:11
Salut,

Tu pourrais nous passer ce que tu as mis dans le OInChange de ton Trackbar pour qu'on puisse exterminer ce bug ?
merci...

++
0
bdp8 Messages postés 9 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 22 avril 2008
5 mai 2007 à 16:30
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 TrackBar1Change(Sender: TObject);
    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

label1.Left := label1.Left-1;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Timer1.Enabled := not Timer1.Enabled;
  label1.Left:=(panel1.Width);

end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
        label1.Left := label1.Left-1;
end;

end.

Voila.
0
bdp8 Messages postés 9 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 22 avril 2008
5 mai 2007 à 16:32
j'aurai voulu mettre aussi qqch de la forme

timer1.interval := 1

Lorsque je change la position du trackbar timer1.interval diminu !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
5 mai 2007 à 17:21
Et bien tu n'as qu'a mettre:

Timer1.Interval := TrackBar1.Position ^^

et c'est tout bon !
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
5 mai 2007 à 17:24
Eh, mais j'y pense, avec ce que tu as mis dans le OnTimer, le label ne va jamais réapparaitre !

Il faudrait plutot faire :

Voila ton unité corrigée :
<hr size="2" width="100%" />procedure TForm1.Timer1Timer(Sender: TObject);
begin
  label1.Left := label1.Left - 1;
  if label1.Left < label1.width then
    label1.Left := panel1.Width;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Timer1.Enabled := not Timer1.Enabled;
  label1.Left:=panel1.Width;
end;

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
  Timer1.Interval := TrackBar1.Position;
end;
<hr size="2" width="100%" />
Bonne chance pour la suite...
++
Flo
0
bdp8 Messages postés 9 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 22 avril 2008
5 mai 2007 à 17:29
OK merci beaucoup,

la quand je met le curseur du trackbar au minimum le text s'arréte.
et puis la vitesse ne varie pas tros !
Est ce que c'est normal ?
0
florenth Messages postés 1023 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 17 août 2008 3
5 mai 2007 à 18:36
Oui c'est normal que le texte s'arrete et que la vitesse ne bouge pas trop.
Il faut que tu mettes dans l'inspecteur d'objet (pour ton trackbar):
- Max := 1000;
- Min := 50;

et là, ça devrait allez beaucoup mieux.

Oublie pas de valder les réponses qui te conviennent.

++
Flo
0
bdp8 Messages postés 9 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 22 avril 2008
6 mai 2007 à 00:27
voila le lien vers mon programme.
http://rap041.free.fr/BD%20biss.rar

Bah Il ya une différence entre quand j'appuye sur le track bar sa va moins vite, mais sinon sur toutes position du trackbar c'est la meme chose !
0
bdp8 Messages postés 9 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 22 avril 2008
6 mai 2007 à 01:10
c'est bon probléme regler au niveau de l'inspecteur d'objets , avec plusieurs teste !!
encore merci !
0
Rejoignez-nous