2022年setclasslong和setwindowlong的区别 .pdf
《2022年setclasslong和setwindowlong的区别 .pdf》由会员分享,可在线阅读,更多相关《2022年setclasslong和setwindowlong的区别 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、setclasslong和 setwindowlong 的区别SetWindowLong该函数改变指定窗口的属性函数也将指定的一个32 位值设置在窗口的额外存储空间的指定偏移位置。SetClassLong 该函数替换在额外类存储空间的指定偏移地址的32 位长整型值,或替换指定窗口所属类的WNDCLASSEX结构. 以我的理解: SetClassLong 是与窗口类有关,学过win32 编程的人都知道,一个应用程序在创建某个类型的窗口(CreateWindow) 前, 必须首先注册该“窗口类”(Windows Class,WNDCLASS) 。而这个 Class 即表示窗口类,所以SetClas
2、sLong是设置窗口类的属性。SetWindowLong是已经创建好的窗口,所以它是设置窗口的属性。所以这两个还是有区别的,当我们想改变窗口的属性时就调用SetWindowLong ,而改变窗口类的属性时最好调用SetClassLong ,这只是我的个人见解,有不同意见的欢迎指正。以下摘自百度百科,根据专业人士的总结让我们更清楚的理解它们两个的用法函数原型: DWORD SetClassLong (HWND hWnd,int nlndex,LONG dwNewLong);hWnd :窗口句柄及间接给出的窗口所属的类。nlndex :指定将被替换的 32 位值。在额外类存储空间中设置32 位值,
3、应指定一个大于或等于0 的偏移量。有效值的范围从 0 到额外类的存储空间的字节数一4;例如,若指定了12个字节或多于 12 个字节的额外类存储空间,则索引值为8 时,对应的是第三个32 位整数值。要设置WNDCLASSEX结构中的任何值,指定下面索引之一:GCL_CBCLSEXTRA:设置与类相关的尺寸的字节大小。设定该值不改变己分配的额外字节数。GCL_CBWNDEXTRA:设置与类中的每一个窗口相关的尺寸的字节大小。设定该值不改变已分配额外字节数。查看如何进入该内存,参看SetWindowLOng 。GCL_HBRBACKGROUND:替换与类有关的背景刷子的句柄。名师资料总结 - - -
4、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - GCL_HCURSOR:替换与类有关的光标的句柄。GCL_HICON:替换与类有关的图标的句柄。GCL_HMODULE: 替换注册类的模块的句柄。 GCL_STYLE: 替换窗口类的风格位。GCL_MENUNAME :替换菜单名字符串的地址。该字符串标识与类有关的菜单资源。GCL_WNDPROC :替换与窗口类有关的窗口过程的地址。由上可知,上面的属性都是GCL_+ 窗口类中的参数 ; dwNewLong
5、 :指定的替换值。返回值:如果函数成功,返回值是原来类结构中32位整数;如果未事先设定,返回值为 0。如果函数失败,返回值为0。若想获得更多错误信息,请调用GetLastError函数。备注; 如果使用 SetClassLong 函数和 GCL_WNDPROC索引值来替换窗口过程,新的窗口过程必须与WindowProc回调函数中所规定的规则一致。以带 GCL_WNDPROC索引值的 SetClassLong 函数修改的一个窗口类的的子类将会影响所有随后以该类创建的窗口。应用程序可以创建一个系统类的子类,但是不能创建由其他进程创建的类的子类。通过使用 RegisterClassEx函数将 WND
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年setclasslong和setwindowlong的区别 2022 setclasslong setwindowlong 区别
限制150内