GetClassLong

The GetClassLong function retrieves the specified 32-bit (long) value from the WNDCLASSEX structure associated with the specified window.

DWORD GetClassLong(
  HWND hWnd,  // handle of window
  int nIndex  // offset of value to retrieve
);
 

Parameters

hWnd
Handle to the window and, indirectly, the class to which the window belongs.
nIndex
Specifies the 32-bit value to retrieve. To retrieve a 32-bit value from the extra class memory, specify the positive, zero-based byte offset of the value to be retrieved. Valid values are in the range zero through the number of bytes of extra class memory, minus four; for example, if you specified 12 or more bytes of extra class memory, a value of 8 would be an index to the third 32-bit integer. To retrieve any other value from the WNDCLASSEX structure, specify one of the following values:
Value Action
GCW_ATOM Retrieves an ATOM value that uniquely identifies the window class. This is the same atom that the RegisterClassEx function returns.
GCL_CBCLSEXTRA Retrieves the size, in bytes, of the extra memory associated with the class.
GCL_CBWNDEXTRA Retrieves the size, in bytes, of the extra window memory associated with each window in the class. For information on how to access this memory, see GetWindowLong.
GCL_HBRBACKGROUND Retrieves the handle of the background brush associated with the class.
GCL_HCURSOR Retrieves the handle of the cursor associated with the class.
GCL_HICON Retrieves the handle of the icon associated with the class.
GCL_HICONSM Retrieves the handle of the small icon associated with the class.
GCL_HMODULE Retrieves the handle of the module that registered the class.
GCL_MENUNAME Retrieves the address of the menu name string. The string identifies the menu resource associated with the class.
GCL_STYLE Retrieves the window-class style bits.
GCL_WNDPROC Retrieves the address of the window procedure associated with the class.

Return Values

If the function succeeds, the return value is the requested 32-bit value.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Remarks

Reserve extra class memory by specifying a nonzero value in the cbClsExtra member of the WNDCLASSEX structure used with the RegisterClassEx function.

Windows CE: The nIndex parameter is a byte offset but must be a multiple of 4 bytes. Windows CE does not support unaligned access.

The only values supported for the nIndex parameter are GCL_HICON and GCL_STYLE.

If you are using the Windows CE Iconcurs component, which supports mouse cursors on appropriate target platforms, you can also use the GCL_HCURSOR value in the nIndex parameter.

Note Windows CE versions that support mouse cursors include the Iconcurs and Mcursor components rather than the Icon and Cursor components.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Window Classes Overview, Window Class Functions, GetWindowLong, RegisterClassEx, SetClassLong, WNDCLASSEX