1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
TForm1=Class(TForm)
...
...
...
public
UnMessage:string;
...
end;
procedure Tmenu.FormCreate(Sender: TObject);
begin
UnMessage:=' *** Le message qui apparait dans ta SatusBar ***';
StatusBar1.ControlStyle := StatusBar1.ControlStyle +[csAcceptsControls];
JvGradientProgressBar1.Parent := StatusBar1;
JvGradientProgressBar1.SetBounds(600, 2, 150, 16);
JvGradientProgressBar1.BringToFront;
end;
procedure Tmenu.Timer1Timer(Sender: TObject);
begin
JvGradientProgressBar1.Position:=(JvGradientProgressBar1.Position+5) mod (JvGradientProgressBar1.max+5);
//si la police de caractère est de la même couleur que le fond (texte invisible)
if StatusBar1.font.color=StatusBar1.color
//alors on fait apparaître le texte en rouge
then begin
StatusBar1.Text:=UnMessage; //Ou StatusBar1.Caption (J'ai pas mon Delphi avec moi, donc c'est écrit à l'aveugle, à vérifier donc)
StatusBar1.font.color:=clRed;
UnMessage:=copy(UnMessage,2,length(UnMessage)-1)+UnMessage[1];
end;
//sinon, on fait disparaître le texte
else StatusBar1.font.color:=StatusBar1.color;
Application.ProcessMessages; //(pour que ça redessine correctement...
end; |
Partager