The SetParent function changes the parent window of the specified child window.
Syntax
|
HWND SetParent( HWND hWndChild,
HWND hWndNewParent
); |
Parameters
- hWndChild
-
[in] Handle to the child window.
- hWndNewParent
-
[in] Handle to the new parent window. If this parameter is NULL, the desktop window becomes the new parent window.
Windows 2000/XP: If this parameter is HWND_MESSAGE, the child window becomes a message-only window.
Return Value
If the function succeeds, the return value is a handle to the previous parent window.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.
Remarks
An application can use the SetParent function to set the parent window of a pop-up, overlapped, or child window.
If the window identified by the hWndChild parameter is visible, the system performs the appropriate redrawing and repainting.
For compatibility reasons, SetParent does not modify the WS_CHILD or WS_POPUP window styles of the window whose parent is being changed. Therefore, if hWndNewParent is NULL, you should also clear the WS_CHILD bit and set the WS_POPUP style after calling SetParent. Conversely, if hWndNewParent is not NULL and the window was previously a child of the desktop, you should clear the WS_POPUP style and set the WS_CHILD style before calling SetParent.
Windows 2000/XP: When you change the parent of a window, you should synchronize the UISTATE of both windows. For more information, see WM_CHANGEUISTATE and WM_UPDATEUISTATE.
Function Information
| Minimum DLL Version | user32.dll |
|---|
| Header | Declared in Winuser.h, include Windows.h |
|---|
| Import library | User32.lib |
|---|
| Minimum operating systems |
Windows 95, Windows NT 3.1 |
|---|
| Unicode | Implemented as
Unicode version. |
|---|
See Also
Windows Overview, GetParent