Sorry to answer my own question. I don't think MS Windows can subclass a control just by changing its GWL_WNDPROC and registering a new Window Class.
Once I created a BUTTON object and changed its GWL_WNDPROC, then the object behaved like a subclass object - very strange - I guess because MS Windows was designed before OO languages became common.
