SetWindowLong

Syntax

LONG SetWindowLong(hWnd,nIndex,dwNewLong)

This function changes an attribute of the window specified by the hWnd parameter.

Parameter Type/Description  

hWnd HWND Identifies the window.  
nIndex int Specifies the byte offset of the attribute to be changed. It may also be one of the following values:  
  Value Meaning
  GWL_EXSTYLE Sets a new extended window style.
  GWL_STYLE Sets a new window style.
  GWL_WNDPROC Sets a new long pointer to the window procedure.
dwNewLong DWORD Specifies the replacement value.  

Return Value

The return value specifies the previous value of the specified long integer.

Comments

If the SetWindowLong function and the GWL_WNDPROC index are used to set a new window function, that function must have the window-function form and be exported in the module-definition file of the application. For more information, see the RegisterClass function, earlier in this chapter.

Calling SetWindowLong with the GCL_WNDPROC index creates a subclass of the window class used to create the window. See Chapter 1, “Window Manager Interface Functions,” for more information on window subclassing. An application should not attempt to create a window subclass for standard Windows controls such as combo boxes and buttons.

To access any extra four-byte values allocated when the window-class structure was created, use a positive byte offset as the index specified by the nIndex parameter, starting at zero for the first four-byte value in the extra space, 4 for the next four-byte value and so on.