Issue: XE8 Firemonkey on Windows platform Memo scrolling, the 1th, 2 rows overlap.
Before modification:
After modification:
Applicable: XE8 for Windows Platform
Repair method:
Please make the source FMX. Memo.Style.pas Copy to your project directory and make changes.
Find TStyledMemo.TLines.RenderLayouts; function, modified as follows:
procedureTStyledMemo.TLines.RenderLayouts; Omit ...ifLine.Rect.IntersectsWith (Content) Then begin ifLine.layout =Nil Then beginLayout:=createlayout (Fmemo.model.lines[i]); Size:= Tsizef.create (Max (1, Layout.width), layout.height); Heightchanged:= notSamevalue (Line.Size.Height, Size.Height, tepsilon.position); Contentboundsupdated:= contentboundsupdatedor(Line.size <>Size); Line.size:=Size;{+++> Fixes a problem where Memo scrolling will overlap, by GUI Shan a swastika} if(Line.Rect.Top <0) ThenLine.rect:= Trectf.create (-viewposition.x,-VIEWPOSITION.Y,-viewposition.x +Line.Size.Width, Line.Size.Height)Else{<+++}Line.rect:= Trectf.create (-viewposition.x,0,-viewposition.x +Line.Size.Width, Line.Size.Height); if(I >0) ThenLine.Rect.Offset (0, Flines[i-1]. Rect.bottom); Omit ...End;
Reference diagram:
Fixed an issue where XE8 Win platform Firemonkey Memo will overlap after scrolling