Problem with TScrollingWinControl.ScrollBy / Unecessary Invalidate
Original Reporter info from Mantis: Martin @martin_frb
-
Reporter name: Martin Friebe
Original Reporter info from Mantis: Martin @martin_frb
- Reporter name: Martin Friebe
Description:
lcl\include\scrollingwincontrol.inc
line 215
See below
After calling WidgetSet there is an Invalidate.
This means a full repaint, which on some WS is not needed.
E.g. Windows call "ScrollWindow", which scrolls the visible area on the screen, and only invalidates parts that scrolled in, or otherwise need painting.
So that would significantly reduce painting, if the Invalidate was not present.
Additional information:
procedure TScrollingWinControl.ScrollBy(DeltaX, DeltaY: Integer);
begin
if HandleAllocated and IsWindowVisible(Handle) then
begin
TWSScrollingWinControlClass(WidgetSetClass).ScrollBy(Self, DeltaX, DeltaY);
Invalidate;
end
else
inherited ScrollBy(DeltaX, DeltaY);
end;
Mantis conversion info:
- Mantis ID: 26087
- OS: win
- OS Build: vista
- Platform: w32
- Version: 1.3 (SVN)
- Fixed in version: 1.3 (SVN)
- Fixed in revision: 44840 (#8510d36e)
- Monitored by: » x2nie (Fathony Luthfillah)
- Target version: 1.4