diff --git a/lcl/grids.pas b/lcl/grids.pas index da491c9dec..e4907a7ccc 100644 --- a/lcl/grids.pas +++ b/lcl/grids.pas @@ -6946,10 +6946,22 @@ begin end; procedure TCustomGrid.DoOnChangeBounds; +var + OldTopLeft: TPoint; + OldColOff, OldRowOff: Integer; begin inherited DoOnChangeBounds; - VisualChange; + if FUpdateCount=0 then + begin + OldTopLeft := fTopLeft; + OldColOff := FGCache.TLColOff; + OldRowOff := FGCache.TLRowOff; + UpdateSizes; + if (OldTopLeft.X<>FTopLeft.X) or (OldTopLeft.Y<>FTopLeft.Y) + or (OldColOff<>FGCache.TLColOff) or (OldRowOff<>FGCache.TLRowOff) then // reduce unnecessary repaints + Invalidate; + end; end; procedure TCustomGrid.KeyDown(var Key: Word; Shift: TShiftState);