窗口类的元素定义属于该类的窗口的默认行为。注册窗口类的应用程序通过在WNDCLASSEX结构中设置适当的成员并将结构传递给RegisterClassEx函数来为类分配元素。GetClassInfoEx和GetClassLong函数检索有关给定窗口类的信息。SetClassLong函数更改应用程序已经注册的本地或全局类的元素。
虽然一个完整的窗口类由许多元素组成,但Windows只需要一个应用程序提供类名,窗口过程地址和一个实例句柄。使用其他元素定义类的窗口的默认属性,例如光标的形状和窗口菜单的内容。您必须将WNDCLASSEX结构的任何未使用的成员初始化为零或NULL。窗口类元素如下。
元件 | 目的 |
班级名称 | 将类与其他注册类进行区分。 |
窗口程序地址 | 指向处理发送到类中的Windows的所有消息的函数,并定义窗口的行为。 |
实例句柄 | 标识注册该类的应用程序或DLL。 |
类光标 | 定义Windows为类的窗口显示的鼠标光标。 |
类图标 | 定义大图标。 |
小班图标 | 定义小图标(Windows版本4.0及更高版本)。 |
课堂背景画笔 | 定义窗口打开或画出时填充客户区域的颜色和图案。 |
班级菜单 | 指定不显式定义菜单的窗口的默认菜单。 |
班级风格 | 定义如何在移动或调整窗口之后更新窗口,如何处理鼠标的双击,如何为设备上下文分配空间以及窗口的其他方面。 |
额外的记忆 | 指定Windows应为该类预留的额外内存量(以字节为单位)。类中的所有窗口共享额外的内存,并可用于任何应用程序定义的目的。Windows将此内存初始化为零。 |
额外的窗口记忆 | 指定Windows为属于该类的每个窗口预留的额外内存量(以字节为单位)。额外的内存可以用于任何应用程序定义的目的。Windows将此内存初始化为零。 |