I am curious about why NM_CUSTOMDRAW and WM_DRAWITEM are sent to the parent. Why aren't these two messages/notifications instead sent to the controls themselves? I don't get why we are supposed to do the drawing in the parent. For example, receiving NM_CUSTOMDRAW in a subclassed Listview procedure would make sense to me to easily change some item text colors/fonts etc. without having to draw the control fully the control yourself. Why would it have to happen within the parent?
I would appreciate it if somebody could clarify this for me.