Delphi 窗体函数SetWindowLong

Delphi 窗体函数SetWindowLong - 改变指定窗口的属性

原型:

LONG SetWindowLong(
HWND hWnd, // handle to window
int nlndex, // offset of value to set
LONG dwNewLong // new value
);

参数:
hWnd  窗口句柄及间接给出的窗口所属的类。
nlndex  指定将设定的大于等于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位值。
GWL_WNDPROC
-4
为窗口设定一个新的处理函数。
GWL_HWNDPARENT -8 改变子窗口的父窗口,应使用SetParent函数。

 

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

常量        常量值                         意义
  DWL_DLGPROC  DWLP_MSGRESULT + sizeof(LRESULT) (值:4)       设置对话框过程的新地址。
  DWL_MSGRESULT 0                             设置在对话框过程中处理的消息的返回值。
  DWL_USER    DWLP_DLGPROC + sizeof(DLGPROC) (值:8)        设置的应用程序私有的新的额外信息,例如一个句柄或指针。

dwNewLong  指定的替换值。
  dwNewLong中可以使用以下一些列表控件的专用风格:
  LVS_ICON 大图标显示
  LVS_SMALLICON 小图标显示
  LVS_LIST 列表显示
  LVS_REPORT 详细报表显示

  LVS_EDITLABELS 结点的显示字符可以被编辑,对于报表风格来讲可编辑的只为第一列。
  LVS_SHOWSELALWAYS 在失去焦点时也显示当前选中的结点
  LVS_SINGLESEL 同时只能选中列表中一项

返回值:如果函数成功,返回值是指定的32位整数的原来的值。如果函数失败,返回值为0。

博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你所有帮助,谢谢!
原文地址:https://www.cnblogs.com/guorongtao/p/12191889.html