Search code examples
delphidelphi-xe3windows-messages

How to stop the automatic scrolling of a Memo control?


In Windows 7, a memo control (TMemo) will scroll automatically after text is insterted (Memo.Lines.Add(Path);), which I do not want, because scrolling is done by myself.

How can I stop the automatic scrolling?


Solution

  • Normally, adding text to a memo control scrolls the memo to the bottom of the inserted text. To prevent that, call Lines.BeginUpdate before adding text, and call EndUpdate afterwards:

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Memo1.Lines.BeginUpdate;
      try
        Memo1.Lines.Add('...');
        Memo1.Lines.Add('...');
        ...
      finally
        Memo1.Lines.EndUpdate;
      end;
    end;