Tuesday, September 16, 2008

Subclass and Superclass of Window

1. 子类化
通过GetWindowLongSetWindowLong改变一个窗口实例的窗口函数。子类化所要做的就是为一个窗口实例编写新的窗口函数。其操作是在实例级别上进行的。

2. 超类化
窗口超类化是在窗口类——WNDCLASS或WNDCLASSEX级别进行的改变窗口类特征的。
使用过程:首先获得一个已存在的窗口类,然后设置窗口类,最后注册该窗口类。

3. 总结
  • 子类化是实例级别上的,只要能获得窗口的实例,就可对其子类化。而超类化是在窗口类级别上的,不能用于由Windows创建的窗口。
    例如,对话框上的按钮就不能进行超类化,因为按钮类的名称为BUTTON,对应上述代码中的"Splash",是系统默认设计好的)。
  • 子类化修改窗口过程函数, 超类化修改窗口类。
参考

No comments: