子类化(Subclass)是指替换窗口过程(WNDPROC)
超类(Superclass)是替换窗口过程(WNDPROC),并且替换ClassName。
Subclass不太像继承,而像一种外挂(HOOK)行为。
Superclass更像继承,因为生成了新的窗口类,并且继承了行为。
WinX中Subclass和Superclass用同一个类实现,都是 WinX::SubclassWindow。
关于用法上:
以Button为例,如果是SubClass,那么用户先要有一个Button,然后Subclass它。
也就是Subclass发生在CreateWindow之后。
如果是Superclass,那么用户CreateWindow时直接传入新的窗口类名称,根本没有Button被生成。
当然,这要求CreateWindow之前调用该窗口类的RegisterClass
MFC是子类化技术