I have a program that uses 5 child windows. I answer the call for WM_PAINT in the childproc callback function. I answer the call for WM_SIZING in the parentproc callback function. The windows paint fine for dragging the window, however, upon the MAXIMIZEBOX clicked, the windows fail to paint properly. Three of the five boxes have scroll bars, of which two are verticle. The vertical bars show up incorrectly (the slide bar is smaller than it should be) and there is not enough data in the window. These two windows are not standard ListBoxes, however, they have been written similar to the way a list box would work. Due to shading requirements of the data, I couldn't use the standard listbox window type.
When the user clicks "Restore Down" after a Maximize, the bottom right window is completely left out. I have to drag the window down about 20 or 30 pixels in order for the window to repaint properly.
What appears to me to be happening is that my PAINT code (in which I also recalculate and move the child windows each time -- probably shouldn't do that, but hopefully that isn't what is causing the problem) is getting interim coordinates from the system before the parent window actaully paints, then I paint out of the window and thus my bottom right window is no longer in the UpdateRegion, therefore it never gets the message WM_PAINT until I reach the location where some part of it is in the UpdateRegion area.
Anybody got any ideas as to what I'm doing wrong?