<div dir="ltr">Another alternative might be to make a visible grid of cells (using table-panel, for example) and rather than scrolling the canvas they are on, use the scroll bars to change what data is displayed in those cells. That is, have the visible grid of cells be a window into the (potential much larger) grid of cell contents.<div>
<br></div><div>Doug</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 9, 2014 at 7:24 PM, Greg Hendershott <span dir="ltr"><<a href="mailto:greghendershott@gmail.com" target="_blank">greghendershott@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">> Also I saw a lot of scrollable things in Windows who were<br>
> longer than 32768 pixels (take big Excel tables, for example).<br>
> Maybe they are implemented in a different way.<br>
<br>
</div>I don't think that a big-grid GUI application like Excel will use<br>
controls for very much in its main window. Generally it is managing<br>
all that itself.<br>
<br>
It might use a _few_ plain windows, such as one for the column names<br>
on top, another for the row names on the left, and then a big one for<br>
the main grid client area. Just to make it easier to clip output.<br>
<br>
If the user clicks in a button-like area, it will handle that itself.<br>
e.g. If you click somewhere in the column header, it will calculate<br>
which column, and draw that column as selected.<br>
<br>
If the user clicks in a region it calculates to be a cell, it _might_<br>
create a text-edit control there for in-place editing -- but just<br>
temporarily, and destroy it when editing finishes.<br>
<br>
All the logic for scrolling... managed itself.<br>
<br>
At least, that's how I did Windows GUI stuff like this, 15+ years ago.<br>
Usings hundreds or thousands of windows/controls was just too much<br>
overhead to get desirable speed and space. Although the overhead might<br>
be less, now, I imagine if you want a really crisp UI it's probably<br>
much the same story.<br>
<div class="HOEnZb"><div class="h5">____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</div></div></blockquote></div><br></div>