I wonder why win32 controls use message reflection, for example, button doesn't get the click message, instead the message is sent to its parent window as WM_COMMAND. Why button can't capture the click event since it can capture normal events like WM_SIZE? Why button, tab and such controls uses message reflection?