Window Classes
This topic describes the types of window classes, how the system locates them, and the elements that define the default behavior of windows that belong to them.
A window class is a set of attributes that the system uses as a template to create a window. Every window is a member of a window class. All window classes are process specific.
Overviews
About Window ClassesEach window class has an associated window procedure shared by all windows of the same class. The window procedure processes messages for all windows of that class and therefore controls their behavior and appearance.
Using Window ClassesThis topic has a code example that shows how to register a local window and use it to create a main window.
Functions
GetClassInfoThe GetClassInfo function retrieves information about a window class.
Note The GetClassInfo function has been superseded by the GetClassInfoEx function. You can still use GetClassInfo , however, if you do not need information about the class small icon.GetClassInfoExThe GetClassInfoEx function retrieves information about a window class, including a handle to the small icon associated with the window class. The GetClassInfo function does not retrieve a handle to the small icon.
GetClassLongThe GetClassLong function retrieves the specified 32-bit (long ) value from the WNDCLASSEX structure associated with the specified window.
GetClassLongPtr
The GetClassLongPtr function retrieves the specified value from the WNDCLASSEX structure associated with the specified window.
If you are retrieving a pointer or a handle, this function supersedes the GetClassLong function. (Pointers and handles are 32 bits on 32-bit Windows and 64 bits on 64-bit Windows.) To write code that is compatible with both 32-bit and 64-bit versions of Windows, use GetClassLongPtr .
GetClassNameThe GetClassName function retrieves the name of the class to which the specified window belongs.
GetClassWordThe GetClassWord function retrieves the 16-bit (WORD ) value at the specified offset into the extra class memory for the window class to which the specified window belongs.
Note This function is deprecated for any use other than nIndex set to GCW_ATOM. The function is provided only for compatibility with 16-bit versions of Windows. Applications should use the GetClassLong function.GetWindowLong
The GetWindowLong function retrieves information about the specified window. The function also retrieves the 32-bit (long ) value at the specified offset into the extra window memory.
If you are retrieving a pointer or a handle, this function has been superseded by the GetWindowLongPtr function. (Pointers and handles are 32 bits on 32-bit Windows and 64 bits on 64-bit Windows.) To write code that is compatible with both 32-bit and 64-bit versions of Windows, use GetWindowLongPtr .
GetWindowLongPtr
The GetWindowLongPtr function retrieves information about the specified window. The function also retrieves the value at a specified offset into the extra window memory.
If you are retrieving a pointer or a handle, this function supersedes the GetWindowLong function. (Pointers and handles are 32 bits on 32-bit Windows and 64 bits on 64-bit Windows.) To write code that is compatible with both 32-bit and 64-bit versions of Windows, use GetWindowLongPtr .
RegisterClass
The RegisterClass function registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function.
The RegisterClass function has been superseded by the RegisterClassEx function. You can still use RegisterClass , however, if you do not need to set the class small icon.
RegisterClassExThe RegisterClassEx function registers a window class for subsequent use in calls to the CreateWindow or CreateWindowEx function.
SetClassLongThe SetClassLong function replaces the specified 32-bit (long ) value at the specified offset into the extra class memory or the WNDCLASSEX structure for the class to which the specified window belongs.
Note This function has been superseded by the SetClassLongPtr function. To write code that is compatible with both 32-bit and 64-bit versions of Windows, use SetClassLongPtr .SetClassLongPtr
The SetClassLongPtr function replaces the specified value at the specified offset in the extra class memory or the WNDCLASSEX structure for the class to which the specified window belongs.
This function supersedes the SetClassLong function. To write code that is compatible with both 32-bit and 64-bit Windows, use SetClassLongPtr .
SetClassWord
The SetClassWord function replaces the 16-bit (WORD ) value at the specified offset into the extra class memory for the window class to which the specified window belongs.
Note This function is provided only for compatibility with 16-bit versions of Windows. Applications should use the SetClassLong function.SetWindowLong
The SetWindowLong function changes an attribute of the specified window. The function also sets the 32-bit (long) value at the specified offset into the extra window memory.
Note This function has been superseded by the SetWindowLongPtr function. To write code that is compatible with both 32-bit and 64-bit versions of Windows, use the SetWindowLongPtr function.SetWindowLongPtr
The SetWindowLongPtr function changes an attribute of the specified window. The function also sets a value at the specified offset in the extra window memory.
This function supersedes the SetWindowLong function. To write code that is compatible with both 32-bit and 64-bit versions of Windows, use SetWindowLongPtr .
UnregisterClassThe UnregisterClass function unregisters a window class, freeing the memory required for the class.
Structures
WNDCLASSThe WNDCLASS structure contains the window class attributes that are registered by the RegisterClass function.
This structure has been superseded by the WNDCLASSEX structure used with the RegisterClassEx function. You can still use WNDCLASS and RegisterClass if you do not need to set the small icon associated with the window class.
WNDCLASSEXThe WNDCLASSEX structure contains window class information. It is used with the RegisterClassEx and GetClassInfoEx