Posted by: Michael Stoll \(MICSTO\)
Hi to all M!Table users,
at the moment I'm developing the new M!Table version ( 1.9.0 ), which will
have some great new features.
One of the new fatures will be the "cell mode".
In cell mode, a single cell instead of a whole row has the focus. One can
navigate between cells just like in Excel.
Furthermore, it's possible to modify the appearance of the focus frame.
So far so good...
The problem is that the table flickers quite heavily.
This is because the table control draws the focus frame and the selections
directly into the table.
More precisely, if e.g. the focus row changes, the old and new focus areas
are not invalidated ( and the painted on WM_PAINT ), but directly drawn! The
same applies to selections.
So M!Table has to trap every possible event that may change the
focus/selections and must redraw the affected areas.
To get rid of that, I implemented an API Hook on GetDC and ReleaseDC.
If e.g. GetDC is called, it returns a DC to a compatible memory DC instead
of the table DC.
The effect is that the table control draws into the memory DC, and the
flicker problem is gone!
Unfortunately the API Hook only works on NT based Windows version ( NT 4.0
or greater ).
Therefore my question: WHO NEEDS SUPPORT FOR WIN9x/ME ANY LONGER?
Thanks in advance for your answer