SetWindowsLong、SetClassLong 的区别

清泛编译
SetWindowLong:改变指定窗口的属性。
LONG SetWindowLong(HWND hWnd,int nlndex,LONG dwNewLong);
要设置nIndex其他任何值,可以指定下面值之一:
  GWL_EXSTYLE:设定一个新的扩展风格。GWL_STYLE:设定一个新的窗口风格。
  GWL_WNDPROC:为窗口过程设定一个新的地址。GWL_ID:设置一个新的窗口标识符。
  GWL_HINSTANCE:设置一个新的应用程序事例句柄。
  GWL_USERDATA:设置与窗口有关的32位值。每一个窗口均有一个由创建该窗口的应用程序使用的32位值。
当hWnd参数标识了一个对话框时,也可使用下列值:
  DWL_DLGPROC:设置对话框过程的新地址。
  DWL_MSGRESULT:设置在对话框过程中处理的消息的返回值。
  DWL_USER:设置的应用程序私有的新的额外信息,例如一个句柄或指针。
  dwNewLong:指定的替换值。


SetClassLong:替换指定窗口所属类的WNDCLASSEX结构。
DWORD SetClassLong(HWND hWnd,int nlndex,LONG dwNewLong);
要设置WNDCLASSEX结构中的任何值,指定下面索引之一:
  GCL_CBCLSEXTRA:设置与类相关的尺寸的字节大小。设定该值不改变己分配的额外字节数。
  GCL_CBWNDEXTRA:设置与类中的每一个窗口相关的尺寸的字节大小。设定该值不改变已分配额外字节数。查看如何进入该内存,参看SetWindowLOng。
  GCL_HERBACKGROUND:替换与类有关的背景刷子的句柄。
  GCL_HCURSOR:替换与类有关的光标的句柄。GCL_HICON:替换与类有关的图标的句柄。
  GCL_HMODULE:替换注册类的模块的句柄。GCL_STYLE:替换窗口类的风格位。
  CGL_MENUNAME :替换菜单名字符串的地址。该字符串标识与类有关的菜单资源。
  GCL_WNDPROC :替换与窗口类有关的窗口过程的地址。
  dwNewLong:指定的替换值。


两者的共同是少部分。

来源:http://bbs.csdn.net/topics/310085348

SetWindowsLong SetClassLong 区别

分享到:
评论加载中,请稍后...
创APP如搭积木 - 创意无限,梦想即时!
回到顶部