在Windows 7中,備忘錄控件(TMemo
)將在文字完成後自動滾動(Memo.Lines.Add(Path);
),這是我不需要的,因爲滾動是由我自己完成的。如何停止Memo控件的自動滾動?
如何停止自動滾動?
在Windows 7中,備忘錄控件(TMemo
)將在文字完成後自動滾動(Memo.Lines.Add(Path);
),這是我不需要的,因爲滾動是由我自己完成的。如何停止Memo控件的自動滾動?
如何停止自動滾動?
通常,向備忘錄控件添加文本會將備忘錄滾動到插入文本的底部。爲了防止這種情況,添加文字之前調用Lines.BeginUpdate
,事後致電EndUpdate
:當備忘錄自動滾動
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.BeginUpdate;
try
Memo1.Lines.Add('...');
Memo1.Lines.Add('...');
...
finally
Memo1.Lines.EndUpdate;
end;
end;
這個函數沒問題,但有不希望的副作用閃爍:-(。設置DoubleBuffered屬性沒有任何好處。 – truthseeker
你能解釋爲什麼這會起作用嗎?在System.Classes.TStrings.BeginUpdate的文檔中,它說:「某些後代TStrings使用這些信息來執行某些操作,例如在更新完成時告訴控件重新繪製。「 – DBedrenko
@新因爲」TMemoStrings.SetUpdateState「按照它的方式實現。 – NGLN
?當插入數據時爲 – jachguate
。代碼:lstFiles.Lines.Add(Path);. lstFiles是TMemo。 – HamiD