[Lazarus] TMemo flicker
Jürgen Hestermann
juergen.hestermann at gmx.de
Mon Apr 29 18:34:07 CEST 2013
After having moved from TStringList over TStringGrid (which both cannot be shifted right to make long text visible) I now use TMemo. But again I have another issue with this component: If there are more rows than can be displayed in the window and I change the text in the last row (Lines.Count-1) rapidly then the whole display flickers. This OnClick event demonstrates it:
-------------------------------------------------------
with Memo1 do
begin
for i := 1 to 40 do
begin
if odd(i) then
Append('\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\')
else
Append('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
end;
for i := 1 to 1000 do
begin
Lines[Lines.Count-1] := '#### LAST LINE ---'+IntToStr(i)+'-----------------------------------------------------------';
Application.Processmessages;
end;
Memo1.Lines[Lines.Count-1] := '#### READY #### ';
end;
-------------------------------------------------------
When you click on the memo (so that the routine runs) and the window is small enough then all lines are shifted down for a short time and then are shifted up again when writing to Memo1.Lines[Lines.Count-1]. This flicker is quite disturbing and it does not happen when there are only a few lines (which fit in the window). Is this a known bug?
More information about the Lazarus
mailing list