《Windows API巡礼》のGetWindowLong和SetWindowLong函数

SetWindowLong函数用来改变指定窗口的属性,函数同时在窗口的额外内存中设置32位的偏移量值:

LONG WINAPI SetWindowLong(

  __in  HWND hWnd, //指定窗口的句柄,或者间接地,窗口所属的类

  __in  int nIndex, //指定要设置的属性值的偏移地址

  __in  LONG dwNewLong //指定设置的新值

);

 

参数nIndex的取值如下:

GWL_EXSTYLE       //设置一个新的扩展窗口风格

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

GWL_ID //为窗口设置一个新的标识

GWL_STYLE   //设置一个新的窗口风格

GWL_USERDATA  //设置与窗口相关的32位值

GWL_WNDPROC          //设置一个新的窗口过程

 

hWnd参数指定的是一个对话框时,那么nIndex参数还可以取如下值:

DWL_DLGPROC //设置新的对话框过程

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

DWL_USER    //设置新的额外信息,该信息仅为应用程序所有,例如句柄或指针

 

函数调用成功,setWindowLong函数将返回先前为窗口指定的32位整型值。也就是说,如果为指定窗口设定一个新的窗口过程,则该函数将返回先前为该窗口类指定的窗口过程的地址。

 

实例代码见:Windows核心程》の窗口程的使http://blog.csdn.net/ACE1985/archive/2010/08/28/5846524.aspx

 

GetWindowLong函数用来获取指定窗口的属性信息。函数同时在窗口的额外内存中获取32位的偏移量值:

LONG WINAPI GetWindowLong(

  __in  HWND hWnd, //指定窗口的句柄,或者间接地,窗口所属的类

  __in  int nIndex //指定要获取的属性值的偏移地址

);

参数nIndex取值同SetWindowLong相应参数。

函数调用成功,返回指定的值;失败时,返回0。如果前面没有调用SetWindowLong函数,则GetWindowLong函数返回的额外窗口或类内存中的值是0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值