
When screen is Maximized, part of display disappears
I would have thought this was impossible if I hadnt seen it myself!
My program generates random digits and keeps them in an array in my Document
class. My Views OnDraw() uses the data in the Document to show a 10x10
grid, each cell containing a digit 0-9. Theres no problem if the
applications CMainFrame is not maximized: 100 digits show on screen.
But when its maximized, sometimes a digit just drops out. For example,
the 5 might not appear throughout the grid. Theres a blank where the 5s
should be. When I flip back to non-maximized, the 5s are there, as they
should be. I can make them come and go, just by swapping Maximize and
Restore.
It doesnt always happen, but once it starts it happens for the rest of the
session - the user can order up fresh grids of random numbers, on command,
and they are all affected the same.
Its not always the same digit. Ive had a 2 drop out on me, and a 3.
The data is definitely there in the Document. Anyway, it wouldnt appear on
the non-maximized screen if it werent. Ive single-stepped as far as I can,
right through DrawText(). You could say Ive seen the ink for the 5 drip
right off the nib of the pen but it doesnt appear.
The user can (on command) choose to see the digits represented as numbers
(1=A, 2=B5=E). If the 5 has dropped out on the Maximized screen and the
user chooses Letters, Es suddenly appear! (as they should). Switch back to
Numbers, and the Es are replaced by nothing. And yet its all coming from
the same data source.
Is there any known bug in DrawText()? or in the Maximizing process?
Im using VC++6.0 (no service packs); Pentium II MMX.
I'm posting this more for everyone's general amu{*filter*}t than in the
expectation of a solution... but if anyone has any ideas at all, I'd be
extremely grateful.
Thanks. Wayne Gould.