在 timer控件中设置文字的坐标及color 值,

解决方案 »

  1.   

    是状态栏里面
    安你的方法
    color的颜色
    将如何克服变化过渡问题呢
      

  2.   

    sorry,刚才说错了,提示你一下,剩下的自己做.
    在 timer控件中的事件中写如下的语句:
    StatusBar1.Panels.Items[0].Text:=' '+StatusBar1.Panels.Items[0].Text;
      

  3.   

    color的颜色
    将如何克服变化过渡问题呢
    不太会渐变效果
      

  4.   

    最土的办法一定可以实现
    procedure Tmainform.Timer1Timer(Sender: TObject);
    begin
        if length(StatusBar1.Panels[4].Text)=0 then
        begin
           StatusBar1.Panels[4].Text:='@';
          exit;
        end;
        if length(StatusBar1.Panels[4].Text)=1 then
        begin
           StatusBar1.Panels[4].Text:='@@';
          exit;
        end;
        if length(StatusBar1.Panels[4].Text)=2 then
        begin
           StatusBar1.Panels[4].Text:='@@@';
          exit;
        end;
        if length(StatusBar1.Panels[4].Text)=3 then
        begin
          StatusBar1.Panels[4].Text :='@@@阳';
          exit;
        end;
       if length(StatusBar1.Panels[4].Text)=5 then
         begin
          StatusBar1.Panels[4].Text :='@@@阳 光';
          exit;
         end;
       if length(StatusBar1.Panels[4].Text)=8 then
         begin
          StatusBar1.Panels[4].Text :='@@@阳 光 三';
          exit;
        end;
      if length(StatusBar1.Panels[4].Text)=11 then
          begin
          StatusBar1.Panels[4].Text:='@@@阳 光 三 月';
          exit;
        end;
      if length(StatusBar1.Panels[4].Text)=14 then
            begin
          StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工';
          exit;
        end;  if length(StatusBar1.Panels[4].Text)=17 then
       begin
          StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作';
          exit;
        end;
        if length(StatusBar1.Panels[4].Text)=20 then
        begin
           StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室';
          exit;
        end;
        if length(StatusBar1.Panels[4].Text)=23 then
        begin
           StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制';
          exit;
        end;
        if length(StatusBar1.Panels[4].Text)=26 then
        begin
           StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作';
           exit;
        end;
        if length(StatusBar1.Panels[4].Text)=29 then
        begin
           StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@';
          exit;
        end;
        if length(StatusBar1.Panels[4].Text)=30 then
        begin
           StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@@';
          exit;
        end;
        if length(StatusBar1.Panels[4].Text)=31 then
        begin
           StatusBar1.Panels[4].Text:='@@@阳 光 三 月 工 作 室 制 作@@@';
           timer1.Interval:=1300;
           exit;
        end;
        if length(StatusBar1.Panels[4].Text)=32 then
        begin
           StatusBar1.Panels[4].Text:='';
           timer1.Interval:=300;
          exit;
        end;
      

  5.   

    你可以用其他的控件来代替 状态栏
    label1.Left:=label1.Left+5;
    label1.Font.Color:=label1.Font.Color+1;
      

  6.   

    label1.Font.Color:=label1.Font.Color+1;
    不好
    楼上的兄弟你有没有是过 font.color+1 的效果很差的啦
    要不然我也就不问了
      

  7.   

    控制timmer事件,动态改变文字显示位置不就行了
      

  8.   

    渐变:
    var r0,g0,b0,r1,g1,b1:byte;
     r,g,b:array[0..255] of byte;
     color:array[0..255] of Tcolor;
    i:integer;
    r0 := GetRValue(color0);
    g0 := GetGValue(color0);
    b0 := GetBValue(color0);
    r1 := GetRValue(color1);
    g1 := GetGValue(color1);
    b1 := GetBValue(color1);
    for i:=0 to 255 do
    begin
      r[i] := ( i * r0 + (255-i) * r1) DIV 256;
      g[i] := ( i * g0 + (255-i) * g1) DIV 256;
      b[i] := ( i * b0 + (255-i) * b1) DIV 256;
      color[i] := RGB(r,g,b);
    end;滚动:
    OnTimer:
      Timer.Tag := Timer.Tag +1;
    OnDrawPanel:
      StatusBar.pCanvas.FillRect(Rect);
      StatusBar.pCanvas.Font.Color := color[Timeer.Tag MOD 256];
      StatusBar.Canvas.TextOut(Timer.Tag MOD Rect.Width(), Rect.Top, "Text");
      

  9.   

    Label1.Font.Color := RGB(x,y,z);
    x,y,z分别是红(red),绿(Green),蓝(Blue)。把xyz和component的坐标按照需要的算法绑定,就可以得到任意的渐变效果了。eg:x=Label1.Left * 10;……