GetClassLongPtr
注:本文档由 无符号整形 翻译,小甲鱼校对。原文链接 -> 传送门
函数功能:
从指定的窗口相关联的 WNDCLASSEX 结构中获取指定的值。
注意:为了兼容 32 位和 64 位的 Windows 操作系统,写代码时请使用 GetClassLongPtr 函数。在 32 位的 Windows 系统中被编译时, GetClassLongPtr 函数被定义为调用 GetClassLong 函数代替。
API 函数原型:
注释:_In_ 说明该参数是输入的。
ULONG_PTR WINAPI GetClassLongPtr(
_In_ HWND hWnd,
_In_ intnIndex
);
参数解析:
参数 含义
hWnd 指向一个窗口的句柄,函数会间接地获取窗口所属的类
nIndex1. 指定要获取的值
2. 从额外的类储存空间中获取值,指定一个大于等于 0 偏移量用于定位被获取值的位置。有效值范围在 0 到额外的类的内存的字节数减 4。例如,如果您指定了 12 字节或更多的额外的类储存空间,则应设为第三个 32 位整数的索引位 8
3. 如果要从 WNDCLASSEX 结构获取其他值,需要指定以下值之一:
值 含义
GCW_ATOM
(-32)获取窗口的 ATOM 值,这与 RegisterClassEx 函数返回的值相同
GCL_CBCLSEXTRA
(-20)获取与类相关的额外内存的字节大小
GCL_CBWNDEXTRA
(-18)获取类中的每个窗口相关的额外窗口内存的大小,以字节为单位。有关如何访问此内存的信息,参见 GetWindowLong 函数
GCL_HBRBACKGROUND
(-10)获取与类相关的画刷的句柄
GCL_HCURSOR
(-12)获取与类相关的光标的句柄
GCL_HICON
(-14)获取与类相关的图标的句柄
GCL_HICONSM
(-34)获取与类相关的小图标的句柄
GCL_HMODULE
(-16)获取注册该类的模块的句柄
GCL_MENUNAME
(-8)获取菜单名字符串的地址,该字符串标识了与类有关的菜单资源
GCL_STYLE
(-26)获取窗口类的风格位
GCL_WNDPROC
(-24)获取窗口过程函数的地址,或者代表窗口过程函数的地址的句柄。你必须使用 CallWindowProc 函数来调用窗口过程
返回值:
1. 如果函数成功,返回值是所需的值;
2. 如果函数失败,返回值为 0。
获取有关错误的更多信息,请调用 GetLastError 函数。
备注:
通过调用 RegisterClassEx 函数,将 WNDCLASSEX 结构中的 cbClsExtra 成员设为一个非 0 值来保留额外的类的储存空间。
需求:
Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Winuser.h (包含于 Windows.h)
Library User32.lib
DLL User32.dll
Unicode and ANSI namesGetClassLongPtrW (Unicode) 和 GetClassLongPtrA (ANSI)
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
页:
[1]