Windows 和消息) (窗口类
本主题介绍窗口类的类型、系统如何定位它们,以及定义属于它们的窗口的默认行为的元素。
窗口类是一组属性,系统将其用作模板来创建窗口。 每个窗口都是窗口类的成员。 所有窗口类都是特定于进程的。
本节内容
名称 | 描述 |
---|---|
关于窗口类 | 讨论窗口类。 每个窗口类都有一个由同一类的所有窗口共享的关联窗口过程。 窗口过程处理该类的所有窗口的消息,因此控制其行为和外观。 |
使用窗口类 | 演示如何注册本地窗口并使用它来创建main窗口。 |
Window 类引用 | 包含 API 引用。 |
窗口类函数
名称 | 描述 |
---|---|
GetClassInfoEx | 检索有关窗口类的信息,包括与窗口类关联的小图标的句柄。
GetClassInfo 函数不会检索小图标的句柄。 |
GetClassLong | 从与指定窗口关联的 WNDCLASSEX 结构中检索指定的 32 位 (长) 值。 |
GetClassLongPtr | 从与指定窗口关联的 WNDCLASSEX 结构中检索指定值。 |
GetClassName | 检索指定窗口所属的类的名称。 |
GetWindowLong | 检索有关指定窗口的信息。 该函数还会检索指定偏移量处的 32 位 (长) 值到额外的窗口内存中。 |
GetWindowLongPtr | 检索有关指定窗口的信息。 该函数还会将指定偏移量的值检索到额外的窗口内存中。 |
RegisterClass | 注册一个窗口类,以便在调用 CreateWindow 或 CreateWindowEx 函数时使用。 |
RegisterClassEx | 注册一个窗口类,以便在调用 CreateWindow 或 CreateWindowEx 函数时使用。 |
SetClassLongPtr | 替换指定窗口所属类的额外类内存或 WNDCLASSEX 结构的指定偏移处的指定值。 |
SetClassWord | 将指定偏移量处的 16 位 (WORD) 值替换为指定窗口所属的窗口类的额外类内存。 |
SetWindowLong | 更改指定窗口的属性。 该函数还会将 32 位 (长) 值(指定偏移量)设置为额外的窗口内存。 |
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 成员,该成员包含与窗口类关联的小图标的句柄。 |