title: How to make grid refresh on horizontal scroll
body: <p>After hours, I've been unable to find any reference to this issue, here or elsewhere.
  The problem shows with Multi-device applications (hence FMX not VCL), both for Android and Windows (I cannot know for iOS).</p>
  
  <p><strong>The Setup :</strong> 
  Place a grid (<code>TGrid</code> or <code>TStringGrid</code>) on a form. 
  Make the grid larger than the form by adding columns, ensuring that horizontal scrolling will be needed.
  In the grid options, choose to draw <code>ColLines</code>, <code>RowLines</code> and <code>AlternatingRowBackground</code>.
  <code>RowSelect</code> can also be True, to highlight an entire row at once.</p>
  
  <p><strong>The problem :</strong> When scrolling horizontally, the previously hidden part of the grid does not show any <code>RowLines</code> or Background (<code>ColLines</code> are well drawn), or highlight from <code>RowSelect</code>. 
  Coloring and drawing is cut regardless of column limits. When resizing the window to fit the grid (on Windows OS), colors and lines are well drawn on the previously hidden columns.</p>
  
  <p>I've tried, both for <code>OnDrawColumnCell</code> and <code>OnHScrollChange</code> events :</p>
  
  <ul>
  <li><code>StringGrid.Repaint, Self.Invalidate</code> : no result</li>
  <li><code>Application.HandleMessage, Application.ProcessMessages</code> : slow down
  the app</li>
  <li><code>StringGrid.Canvas.Clear(0)</code> : slow down and mess up the app</li>
  <li>Change between Debug and Release versions : no result</li>
  <li>Change <code>Grid.Align</code> to Client, None, Fit, Contents, Scale : no result</li>
  </ul>
  
  <p>Please, does anyone know a way to make a grid display as expected when scrolled horizontally ?</p>
  
  <hr>
  
  <p>Edit 12-Aug-2016 : Delphi 10.1 (Berlin) is not concerned</p>