请教:怎样实现程序的运行时在任务栏上的字符串有跑马灯的效果,像winamp运行时歌曲名滚动一样…

解决方案 »

  1.   

    用Timer,
    uses strutils;
    ...
    silentstr:=space(80)+'滚动显示';
    showstr:='';
    cutShow:=length(silentstr);procedure OnTimer(sender:Tobject);
    begin
      showstr:=left(silentstr,curshow);
      startbar.caption:=showstr;
      dec(curshow);
      if curshow = 0 then curshow:=length(silentstr);
    end;大概就是这样子,试试看
      

  2.   

    sorry,begin后面一句应该是
      showstr:=leftstr(silentstr,curshow);
      

  3.   

    startbar.caption 应改用Application.Title 更准确。
      

  4.   

    可将label放到任务栏上,用时钟控制label移动,模拟跑马灯!
    type
      Tfrom = class(TForm)
        .......................
      private
         StatusDrawRect:TRect; //记录要插入状态条的坐标范围
        { Private declarations }
      public
        { Public declarations }
      end;procedure TFORM.StatusBar1DrawPanel(StatusBar: TStatusBar;
      Panel: TStatusPanel; const Rect: TRect);
    begin
    StatusDrawRect:=rect;
    end;procedure TFORM.FormCreate(Sender: TObject);
    begin
    label1.Parent:=statusBar1;                       //将label放到任务栏
    label1.Caption:='如果有人回答了这个问题';
    label1.top:=StatusDrawRect.Top;               //指定label的位置
    label1.Left:=StatusDrawRect.Left;
    END;procedure Tform.Timer1Timer(Sender: TObject);
    begin
        label1.Left:=label1.Left+1     //移动的是label!
    end;                              //加上其他控制,可实现更复杂的内容!
    ---------------
      

  5.   

    cg1120(代码最优化-§帮助那些值得帮助的人§)的不错!
    不过要是WIMAMP那样的,还是要动态改变application.title...