I guess my problem can be best expressed by a screenshot.
This happens when I hold down the mouse over the caption, drag it down (window recieves WM_WINDOWPOSCHANGING/WM_WINDOWPOSCHANGED notifications) so the client area is below the start menu, and pull it back up. This whole thing I think is complicated by several factors. One is that this sort of a game application, so my message loop uses peekmessage and does a paintroutine while it idles between messages, I do not handle WM_PAINT messages. So, if I tried to just invalidaterect when I recieve these messages, it doesn't rect do anything. Also, I can change this if I need to, but I also have it so that WM_ERASEBKGND just returns and does not do anything. Is there any way that I can fix this problem?