1)请问如何滚动一个RichEdit 
2)如何滚动一个RichEdit ,在鼠标按下时停止滚动!
谢谢~~

解决方案 »

  1.   

    向下滚动1行
    SendMessage(RichEdit1.Handle,EM_LINESCROLL,0,1);
    向右滚动1行
    SendMessage(RichEdit1.Handle,EM_LINESCROLL,1,0);
      

  2.   

    实现滚动也可以这样,在达到一定行数时将第一行删掉procedure TForm1.Button1Click(Sender: TObject);
    const
      MAX_ITEMS_COUNT = 8;
    begin
      RichEdit1.Lines.Add(DateTimeToStr(Now));
      if CountNum < MAX_ITEMS_COUNT then
        Inc(CountNum)  //CountNum为公共变量,用作计数器
      else
        RichEdit1.Lines.Delete(0);
    end;
      

  3.   

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
      sendmessage(RichEdit1.Handle,EM_LINESCROLL,0,1);
    end;procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
      timer1.Enabled:= false;
    end;
      

  4.   

    我记得RichEdit控件中有个ScrollBy方法,不知道是如何应用的阿~~~~~~~