Hi, John...
Perhaps a better way to explain is that WM_PAINT is only issued under very specific conditions... Such as when a window is created, moved, resized, occluded, clipped, etc. Merely drawing to a control does not bring a WM_PAINT because it is reasonable to assume that drawing on a control is the act of bringing it up to date.
It should also be noted that in many cases WM_PAINT is deferred in favor of higher prioity messages so that window updates may not occur instantaneously in a window with busy message traffic. I don't know if you've ever seen it, but there was once some source code using SetTimer that kept a program so busy it's windows never redrew themselves...
If Juni needs redraws, he's probably much further ahead to call his redrawing function directly in code after making changes than to wait for WM_PAINT to come along. (Yet another reason not to put code in switch statements...)