用一个Timer控制Label的颜色即可

解决方案 »

  1.   

    用timer实现渐变即可!
    更好的方法是自己把文字给画上去Canvas.TextOut
    比如说自画上一个字的时候,变换一下颜色,就可以实现一串文字从左到右颜色的渐变。
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var i:integer;
    var Str:String;
    begin
            Str:='Hello';
            For i:=1 to 5 do
            begin
                    Form1.Canvas.Font.Color:=RGB(10,100,50+20*i);
                    Form1.Canvas.TextOut(10+10*i,10,Str[i]);
            end;
    end;//这个实现一串字从左到右,颜色变化。
    在配合timer,效果应该不错。实际上Label也是画上去的。
      

  3.   

    1stclass孔件
    可以做出好多类似的效果
      

  4.   

    我试着用循环加sleep控制label的字体颜色,但是有一点闪烁,怎么办?
      

  5.   

    是不是纯文本的东西?可不可以不用label,下面外观效果一样。
    而且补闪烁。
    var Bitmap:TBitmap;
    var i:integer;
    begin
            i:=1;
            Bitmap:=TBitmap.Create;
            Bitmap.TransparentColor:=clwhite;
            Bitmap.Transparent:=True;
            Bitmap.Width:=100;
            Bitmap.Height:=50;
            While i<120 do
            begin
                    Bitmap.Canvas.Font.Color:=Rgb(i*2,i*2,i*2);
                    Bitmap.Canvas.TextOut(0,0,'Hello');
                    Form1.Canvas.Draw(10,10,Bitmap);
                    Sleep(100);
                    i:=i+1;
            end;
            ShowMessage('Hello');
    end;