SetWindowLong 和SetClassLong区别

简介: 首先看一下msdn是怎样定义它们的吧,可不要搞错啊: The SetWindowLong function changes an attribute of the specified window. The function also sets the 32-bit (long) value at...

首先看一下msdn是怎样定义它们的吧,可不要搞错啊:

The SetWindowLong function changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory.

Note  This function has been superseded by the SetWindowLongPtr function. To write code that is compatible with both 32-bit and 64-bit versions of Microsoft Windows, use the SetWindowLongPtr function.

Syntax

LONG SetWindowLong(          HWND hWnd,
    int nIndex,
    LONG dwNewLong
);上面是对SetWindowLong的说明(定义),注意红色字体。

下面是SetClassLong的说明:The SetClassLong function replaces the specified 32-bit (long) value at the specified offset into the extra class memory or the WNDCLASSEX structure for the class to which the specified window belongs. Note  This function has been superseded by the SetClassLongPtr function. To write code that is compatible with both 32-bit and 64-bit versions of Microsoft Windows, use SetClassLongPtr. SyntaxDWORD SetClassLong(          HWND hWnd,
    int nIndex,
    LONG dwNewLong
);注意红色字体表示。 这里要注意the specified window,这里说的是具体的某个窗口,而 the class to which the specified window belongs指的是具体某个窗口归属的类。也就是说SetWindowLong是对具体的窗口的行为或样式等(such as window proc and window style)进行修改。而SetClassLong是对窗口归属的类的行为或样式等进行修改设置。同时注意它们的返回情况,这也很重要,这里就不多说了。

相关文章
|
7月前
MTP3 和 MTP3B 的区别
【4月更文挑战第11天】
79 0
MTP3 和 MTP3B 的区别
|
7月前
|
存储 前端开发 JavaScript
for...in、for...of、for...Each的详细区别!
for...in、for...of、for...Each的详细区别!
|
7月前
|
数据可视化 数据挖掘
jupternotebook和jupterLab有什么区别?
jupternotebook和jupterLab有什么区别?
849 0
#{} 和 ${} 的区别是什么?
#{} 和 ${} 的区别是什么?
106 0
|
存储
逻辑移位与算术移位的区别
用一句简单的话来说就是:逻辑移位不需要考虑符号位,算术移位需要考虑符号位,我们都知道。数在计算机中都是以补码的形式来存储的,这才造成了逻辑移位和算术移位的的差别。
341 0
!与~有什么区别
!与~有什么区别
101 0
|
安全 前端开发 Java
WebMvcConfigurationSupport 和 WebMvcConfigurer 区别你知道吗
WebMvcConfigurationSupport 和 WebMvcConfigurer 的使用过程中你是否踩坑了它们的区别是什么快来看看吧
631 0
||、&&、!的使用与区别
||、&&、!的使用与区别
139 0
backgroundColor与 tintColors的区别
backgroundColor与 tintColors的区别
126 0
backgroundColor与 tintColors的区别
|
关系型数据库
Where and Having区别
Where和Having的异同 (1)where是查询返回结果之前进行过滤的 (2)having是查询返回结果之后,对结果进行过滤的 (3)在SQL中增加 HAVING 子句原因是,where关键字无法与聚合函数一起使用,having子句常跟group by一同使用,过滤分组...
1505 0