Subject Re: [IBO] POLL: Who likes the partial row at the bottom of the TIB_Grid?
Author Craig L. Leonardi
>
> In the process of essentially rewriting the TIB_Grid control, I am
realizing
> that now would be a good time to consider some additional behavioral
> changes...
>
Jason: I'd like to see you eliminate a grid repaint issue
that results in 'flicker' when scrolling to new (previously
unfetched) records. Here's an excerpt from a post
I sent about this some time ago.

Thanks,

Craig

==============================

First: this does not occur if FetchAllRows is True.

Second: the grid clear - grid repaint (flicker) shows
up when scrolling past the currently fetched records
and onto new ones (that presumably are fetched on
demand). To test this, you should use a dataset
with at least several hundred rows.

The problem occurs with TIB_CustomGrid.Paint method.
Several feet down into this routine, you call

Inherited Paint;

I traced this routine back to TCustomGrid and the
trouble occurs in:

TWinControl.PaintHandler;

Specifically on the following line:

if DC=0 then DC := BeginPaint(handle, PS);

When scrolling past the end-of-the-grid display and
presumably, past the last record fetched, the code
will hit this point.

BeginPaint(handle, PS) causes the grid to be cleared
under these conditions. Later on, the grid is repainted
but the result is the flicker that is seen when scrolling
down a long result set.