• 1.摘要
  • 2.函数原型
  • 3.基本参数
  • 4.返回值
  • 5.备注
  • 6.需求
  • 7.其它

SetWindowLong

SetWindowLong是一个WindowsAPI函数。该函数用来改变指定窗口的属性,函数也将指定的一个32位值设置在窗口的额外存储空间的指定偏移位置。指定将设定的大于等于0的偏移值。

函数原型

基本参数

窗口句柄及间接给出的窗口所属的类。

指定将设定的大于等于0的偏移值。有效值的范围从0到额外类的存储空间的字节数减4:例如若指定了12或多于12个字节的额外窗口存储空间,则应设索引位8来访问第三个4字节,同样设置0访问第一个4字节,4访问第二个4字节。要设置其他任何值,可以指定下面值之一:

常量

常量值

意义

GWL_EXSTYLE

-20

设定一个新的扩展风格

GWL_HINSTANCE

-6

设置一个新的应用程序实例句柄

GWL_ID

-12

设置一个新的窗口,标识符

GWL_STYLE

-16

设定一个新的窗口风格

GWL_USERDATA

-21

设置与窗口有关的32位值。每个窗口均有一个由创建该窗口的应用程序使用的32位值。

当hWnd参数标识了一个对话框时,也可使用下列值:

常量

常量值

意义

DWL_DLGPROC

DWLP_MSGRESULT,+,sizeof(LRESULT)

设置对话框过程的新地址

DWL_MSGRESULT

0

设置在对话框过程中处理的消息的,返回值

DWL_USER

DWLP_DLGPROC,+,sizeof(DLGPROC)

设置的应用程序私有的新的额外信息,例如一个句柄或指针

指定的替换值。

dwNewLong中可以使用以下一些列表控件的专用风格:

LVS_ICON LVS_SMALLICON LVS_LIST LVS_REPORT

这四种风格决定控件的外观,同时只可以选择其中一种,

大图标显示,小图标显示,列表显示,

LVS_EDITLABELS 结点的显示字符可以被编辑,对于报表风格来讲可编辑的只为第一列。

LVS_SHOWSELALWAYS 在失去焦点时也显示当前选中的结点

LVS_SINGLESEL 同时只能选中列表中一项

返回值

如果函数成功,返回值是指定的32位整数的原来的值。如果函数失败,返回值为0。若想获得更多错误信息,请调用GetLastError函数。

如果指定32位整数的原来的值为0,并且函数成功,则返回值为0,但是函数并不清除最后的错误信息,这就很难判断函数是否成功。这时,就应在调用SetWindowLong之前调用callingSetLastError(0)函数来清除最后的错误信息。这样,如果函数失败就会返回0,并且GetLastError。也返回一个非零值。