Originally Posted by xeddiex
Weather he uses the rcPaint member or the actual arbitrary region doesn't really matter because, windows will prevent you from painting outside the invalid region anyway.
To to OP: The window will only *not* be painted if you Handle the WM_PAINT message and sometimes also the WM_ERASEBKGND message and not do *any* painting at all or, erasing. Otherwise, the window will use the default implementation to paint and validate itself.
But to put it simply; the paining is done in the WM_PAINT handler if you intercept, or, handle it and do some painting.