Faire défiler une phrase

Soyez le premier à donner votre avis sur cette source.

Vue 8 662 fois - Téléchargée 1 312 fois

Description

Aucune description n'est fournie pour ce projet

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
15
Date d'inscription
lundi 1 septembre 2003
Statut
Membre
Dernière intervention
15 février 2009

Merci pour les sources, effectivement le code de foxi lag moin (merci). Néanmoins je ne crache pas sur ta source, j'ai récement vu un programme dans lequel la fonction que tu réalise en 10 lignes tien en 50 / 60 lignes ...

Merci
Messages postés
49
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
29 novembre 2010

Bonsoir

je suis bien d'accord avec la souce de F0XI
Messages postés
4202
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
13 juin 2020
37
bof bof bof ... pas trés aboutis tout cela ...

comme l'a dit Elguevel, y'a des effets simple et de rendus meilleur.

_________________________________________________

>>>>> Composants sur fiche (conception) :

TPanel (Panel1; Caption = '' )
TLabel (Label1; enfant de Panel1; Caption ''; AutoSize True; Visible = false)
TButton (Button1; Caption = 'Start' )
TCombobox (ComboBox1; Items 'RTL','LTR','UTD','DTU'; ItemIndex 0)
TTimer (Timer1; Interval 50; Enabled false)

>>>>> Types :

Type
TScrollDir = (sdRTL,sdLTR,sdUTD,sdDTU);

>>>>> Vars :

Var
Direction : TScrollDir = sdRTL;
Speed : integer = 1;
FPSTimer : 1..25 = 20;

>>>>> Init (FormCreate):

Panel1.doublebuffered := true;

>>>>> Lancement/Arret (Button1Click) :

if not Timer1.Enabled then begin
Button1.Caption := 'Stop';
Timer1.Interval := 1000 div FPSTimer;
label1.Caption := 'ceci est une petite animation';
case Direction of
sdRTL,sdLTR : Label1.top := (Panel1.Height div 2) - (Label1.Height div 2);
sdUTD,sdDTU : Label1.Left := (Panel1.Width div 2) - (Label1.Width div 2);
end;
case Direction of
sdRTL : label1.Left := Panel1.Width + 2;
sdLTR : Label1.Left := -Label1.Width - 2;
sdUTD : Label1.Top := -Label1.Height - 2;
sdDTU : Label1.Top := Panel1.Height + 2;
end;
label1.Visible := true;
timer1.enabled := true;
end else begin
label1.Visible := false;
timer1.enabled := false;
Button1.Caption := 'Start';
end;
Combobox1.enable := not Timer1.Enabled;

>>>> Animation (Timer1Timer) :

case Direction of
sdRTL : begin
Label1.Left := Label1.Left - 1;
if label1.Left + label1.Width + 2 < 0 then label1.Left := panel1.Width + 2;
end;
sdLTR : begin
Label1.Left := Label1.Left + 1;
if label1.Left > panel1.Width + 2 then label1.Left := -label1.Width - 2;
end;
sdUTD : begin
Label1.top := Label1.top + 1;
if label1.Top > Panel1.Height + 2 then label1.Top := -label1.Height - 2;
end;
sdDTU : begin
Label1.top := Label1.top - 1;
if label1.Top + label1.Height + 2 < 0 then label1.Top := panel1.Height + 2;
end;
end;

>>>>> Changement de direction (ComboBox1Change) :

Direction := TScrollDirection(Combobox1.ItemIndex);

_________________________________________________

et voila comment faire un joli scroll multi-direction...
Messages postés
18
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
2 juin 2006

merci je vais corriger !!!
Messages postés
718
Date d'inscription
jeudi 19 décembre 2002
Statut
Membre
Dernière intervention
22 novembre 2016
3
Cà lague un peu et la méthode est un peu lourde (trop de calculs).

Je te conseil de remplacer tout ce qui se trouve dans le timer par :

------------
label1.Left := label1.Left - 1;
if (label1.Left + label1.Width) = 0 then label1.Left := Form1.Width -label1.Width;
------------

Sinon met ta phrase dans un panel, c'est plus jolie.

Tient un programme que j'ai fait qui illustrer cet exemple :

http://elguevel.free.fr/download/cleanup.zip

PS : J'ai pas mis de note, j'attend que tu corrige tout çà :-)

Aller Bon Code.

@+

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.