鱼C论坛

 找回密码
 立即注册
查看: 4829|回复: 2

[API档案] SetClassLong

[复制链接]
发表于 2016-7-16 03:45:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注:本文档由 无符号整形 翻译,小甲鱼校对。

原文链接 -> 传送门

函数功能:

SetClassLong 函数用于在窗口的额外存储空间的指定偏移位置设置一个 32 位值,该存储空间在窗口所属的 WNDCLASSEX 结构中定义。

注意:此功能已被 SetClassLongPtr 函数取代。为了兼容 32 位和 64 位的 Windows 操作系统,请使用 SetClassLongPtr 函数。


API 函数原型:

注释:_In_ 说明该参数是输入的。
DWORD WINAPI SetClassLong(
  _In_ HWND hWnd,
  _In_ int  nIndex,
  _In_ LONG dwNewLong
);

参数解析:

参数 含义
hWnd 指向一个窗口的句柄,函数会间接地获取窗口所属的类
nIndex1. 在额外类存储空间中设置 32 位值,应指定一个大于或等于 0 的偏移量

2. 有效值范围在 0 到额外的类的内存的字节数减四。例如,如果您指定了 12 字节或更多的额外的类储存空间, 则应设为第三个 32 位整数的索引位 8

3. 如果要从 WNDCLASSEX 结构设置其他值,需要指定以下值之一:

含义
GCL_CBCLSEXTRA
(-20)
1. 设置与类相关的额外内存的字节大小

2. 设置这个值不会改变已经分配额外的字节数
GCL_CBWNDEXTRA
(-18)
1. 设置类中的每个窗口相关的额外窗口内存大小,以字节为单位

2. 设置这个值不会改变已经分配额外的字节数。有关如何访问此内存的信息,请参阅 SetWindowLong 函数
GCL_HBRBACKGROUND
(-10)
替换与类相关的画刷的句柄
GCL_HCURSOR
(-12)
替换与类相关的光标的句柄
GCL_HICON
(-14)
替换与类相关的图标的句柄
GCL_HICONSM
(-34)
替换与类相关的小图标的句柄
GCL_HMODULE
(-16)
替换注册该类的模块的句柄
GCL_MENUNAME
(-8)
替换菜单名字符串的地址,该字符串标识了与类有关的菜单资源
GCL_STYLE
(-26)
替换窗口类的风格位
GCL_WNDPROC
(-24)
1. 替换窗口过程函数的地址,或者代表窗口过程函数的地址的句柄

2. 您必须使用 CallWindowProc 函数来调用窗口过程


返回值:

1. 如果函数调用成功,返回值是结构中原来的 32 位值(如果该值没有被预先设定,返回值是 0);

2. 如果函数调用失败,返回值是 0。

获取有关错误的更多信息,请调用 GetLastError 函数。


备注:

1. 如果使用 SetClassLong 函数和 GCL_WNDPROC 索引值来替换窗口过程,新的窗口过程必须与 WindowProc 回调函数中所规定的原型一致。

2. 通过调用 RegisterClassEx 函数,将 WNDCLASSEX 结构中的 cbClsExtra 成员设为一个非零值来保留额外的储存空间。

3. 使用 SetClassLong 函数要小心。比如,可以通过使用 SetClassLong 函数来改变类的背景画刷颜色,但是这种改变不会立即生效,直到属于该类的窗体下次重绘。除非使用 UpdateWindow 函数强制让窗口更新。


需求:

Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Winuser.h (包含于 Windows.h)
Library User32.lib
DLL User32.dll
Unicode and ANSI names SetClassLongW (Unicode) 和 SetClassLongA (ANSI)


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-7-16 10:29:36 | 显示全部楼层
也来看看,更新的内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-10-21 10:43:14 | 显示全部楼层
顶一顶,希望winapi继续更新!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 15:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表