窗口类(Windows 和消息)
本主题介绍窗口类的类型、系统如何定位它们以及定义属于窗口的默认行为的元素。
窗口类是系统用作创建窗口的模板的一组属性。 每个窗口都是窗口类的成员。 所有窗口类都是特定于进程的。
在本部分中
名字 | 描述 |
---|---|
关于窗口类 | 讨论窗口类。 每个窗口类都有由同一类的所有窗口共享的关联窗口过程。 窗口过程处理该类的所有窗口的消息,因此控制其行为和外观。 |
使用窗口类 | 演示如何注册本地窗口并将其用于创建主窗口。 |
Window 类引用 | 包含 API 参考。 |
Window 类函数
名字 | 描述 |
---|---|
GetClassInfoEx | 检索有关窗口类的信息,包括与窗口类关联的小图标的句柄。
GetClassInfo 函数不会检索小图标的句柄。 |
GetClassLong | 从与指定窗口关联的 WNDCLASSEX 结构中检索指定的 32 位(长)值。 |
GetClassLongPtr | 从与指定窗口关联的 WNDCLASSEX 结构中检索指定的值。 |
GetClassName | 检索指定窗口所属的类的名称。 |
GetWindowLong | 检索有关指定窗口的信息。 该函数还会检索 32 位(长)值,该值在指定的偏移量处进入额外的窗口内存。 |
GetWindowLongPtr | 检索有关指定窗口的信息。 该函数还会在额外的窗口内存中检索指定偏移量处的值。 |
RegisterClass | 注册一个窗口类,以便在调用 CreateWindow 或 CreateWindowEx 函数时使用。 |
RegisterClassEx | 注册一个窗口类,以便在调用 CreateWindow 或 CreateWindowEx 函数时使用。 |
SetClassLongPtr | 将指定值替换为额外类内存中的指定偏移量或指定窗口所属的类的 WNDCLASSEX 结构。 |
SetClassWord | 将指定偏移量处的 16 位 (WORD) 值替换为指定窗口所属的窗口类的额外类内存。 |
SetWindowLong | 更改指定窗口的属性。 该函数还将指定偏移量处的 32 位(long)值设置为额外的窗口内存。 |
SetWindowLongPtr | 更改指定窗口的属性。 该函数还会在额外的窗口内存中设置指定偏移量的值。 |
UnregisterClass | 取消注册窗口类,释放类所需的内存。 |
以下函数已过时。
名字 | 描述 |
---|---|
GetClassInfo | 检索有关窗口类的信息。 注意:GetClassInfo 函数已被 GetClassInfoEx 函数取代。 但是,如果不需要有关类小图标的信息,仍可以使用 GetClassInfo。 |
GetClassWord | 检索指定窗口所属窗口类的额外类内存中的 16 位 (WORD) 值。
注意: 此函数已弃用,但除 nIndex 设置为GCW_ATOM以外的任何用途。 此函数仅用于与 16 位版本的 Windows 兼容。 应用程序应使用 GetClassLong 函数。 |
SetClassLong | 将指定偏移量处的指定 32 位(长)值替换为指定窗口所属的类的 WNDCLASSEX 结构。
注意: 此函数已被 SetClassLongPtr 函数取代。 若要编写与 32 位和 64 位版本的 Windows 兼容的代码,请使用 SetClassLongPtr。 |
窗口类结构
名字 | 描述 |
---|---|
WNDCLASS | 包含由 RegisterClass 函数注册的窗口类属性。 此结构已被与 RegisterClassEx 函数一起使用的 WNDCLASSEX 结构取代。 如果不需要设置与窗口类关联的小图标,仍可以使用 WNDCLASS 和 RegisterClass。 |
WNDCLASSEX | 包含窗口类信息。 它与 RegisterClassEx 和 GetClassInfoEx 函数一起使用。 WNDCLASSEX 结构类似于 WNDCLASS 结构。 有两个区别。 WNDCLASSEX 包括 cbSize 成员,该成员指定结构的大小,以及 hIconSm 成员,该成员包含与窗口类关联的小图标的句柄。 |