问题:
    读取某文本内容显示在面板中,面板为三行字高,定时向上滚动,
每次滚动三行,滚动一次停留5秒钟;
难点:
  1、如何保证面板中的文字始终是三行,而且是完整显示,不会有显示
半行字的情况;
  2、任何字体的情况下都可以调整面板高度来满足以上要求;

解决方案 »

  1.   

    用Memo和Timer控件,Memo设成刚好3行procedure TForm1.Timer1Timer(Sender: TObject);
    var vScrollInfo: TScrollInfo;
    begin
        vScrollInfo.cbSize:=SizeOf(vScrollInfo);
        vScrollInfo.fMask:=SIF_POS;
        GetScrollInfo(Memo1.Handle,SB_VERT,vScrollInfo);
        Memo1.Perform(WM_VSCROLL,MakeLong(SB_THUMBPOSITION,vScrollInfo.nPos+3),0);//滚动三行
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      Timer1.Interval:=5000;
      Memo1.ScrollBars:=ssVertical;
    end;
      

  2.   

    用控件解决: AAFRONT   很不错得,而且带有源码,楼主可自已修改。呵呵
      

  3.   

    没错,我修改了TAAScrollTxt,能够做到以上效果,但是改变了字体大小或者其他参数就不行了
    我试试二楼的方法
      

  4.   

    为了方便,这边结贴,有兴趣的朋友请到 Delphi Windows SDK/API 同名贴参与:)