MFCは、
LRESULT WndProc(,,,,,,){
switch(...){

case WM_PAINT:
OnPaint();
break;
}
return DefWndProc(.,...)
}
calss a{
virtual void OnPaint()
}
こういうことをやっているのですか?