C'est un effet de texte avec la fonction Random. Les lettres vibrent dans un bitmap. Un TTimer gère le temps, pas de TThread...
L'intérêt est faible, mais c'est distrayant...
Source / Exemple :
unit trambtxt;
interface
uses Windows, SysUtils, Classes, Forms, StdCtrls, ExtCtrls, Graphics, Controls;
type
TfrTxt = class(TForm)
Timer1: TTimer;
TxVw: TImage;
Label2: TLabel;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
end;
const TT_SPACE = 5 ;
Banniere = 'http://altert.family.free.fr/';
var frTxt : TfrTxt ;
implementation
{$R *.DFM}
procedure TfrTxt.FormCreate(Sender: TObject);
begin
Randomize;
with TxVw.Picture.Bitmap.Create do
begin
PixelFormat:=pf4bit;
Width:=TxVw.Width;
Height:=TxVw.Height;
Canvas.Pen.Style:=psClear;
Canvas.Brush.Color:=clWhite;
Canvas.Brush.Style:=bsSolid;
Canvas.Rectangle(-1,-1,TxVw.Width+1,TxVw.Height+1);
Canvas.Font.Name:='Times New Roman';
Canvas.Font.Style:=[fsBold];
Canvas.Font.Size:=28;
end;
end;
procedure TfrTxt.Timer1Timer(Sender: TObject);
var i, x : integer;
PX, PY : integer;
begin
TxVw.Picture.Bitmap.Canvas.Brush.Style:=bsSolid;
TxVw.Picture.Bitmap.Canvas.Rectangle(-1,-1,TxVw.Width+1,TxVw.Height+1);
x:=0;
for i:=1 to Length(Banniere) do
begin
PX:=random(10)+1+x;
PY:=random(10)+1;
TxVw.Picture.Bitmap.Canvas.Brush.Style:=bsClear;
TxVw.Picture.Bitmap.Canvas.TextOut(PX,PY,Banniere[i]);
x:=x+TxVw.Picture.Bitmap.Canvas.TextWidth(Banniere[i])+TT_SPACE;
end;
end;
end.
Conclusion :
Vous pouvez toujours aller voir
http://altert.family.free.fr/
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.