有两个button分别用来控制Memo的文本上下滚动(就好象是在拖动滚动条时的效果一样),如果Memo向上滚动到顶端的话,button1变成不可用,如果Memo向下滚动到底端的话,button2变成不可用,请问如何实现/?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i : integer;
    begin
      for i := 0 to memo1.Lines.Count - 1 do
      begin
        memo1.Lines.Move(0,i+1);
      end;
    end;
      

  2.   

    if Memo1.Perform(EM_SCROLL, SB_LINEDOWN, 0)=0 then//下滚
      button2.Enable := False;
    if Memo1.Perform(EM_SCROLL, SB_LINEUP, 0)=0 then//上滚
      button1.Enable := False;
      

  3.   

    to:coeltdit(睫毛上的冰)
    这样执行行序都乱了,有没有个事件可控制滚动条得
    还请多指教
      

  4.   

    if Memo1.Perform(EM_SCROLL, SB_LINEDOWN, 0)=0 then//下滚
      button2.Enable := False;
    if Memo1.Perform(EM_SCROLL, SB_LINEUP, 0)=0 then//上滚
      button1.Enable := False;
    -------------------------------------------------------------------------
    这个采用发送消息的方法非常可行,建议采用;我的只不过是给个思路,具体实现得靠自己;