The ShowWindow function sets the specified window’s show state.
BOOL ShowWindow(
HWND hWnd, |
// handle of window |
int nCmdShow |
// show state of window |
); |
Value |
Meaning |
SW_HIDE |
Hides the window and activates another window. |
SW_MAXIMIZE |
Maximizes the specified window. |
SW_MINIMIZE |
Minimizes the specified window and activates the next top-level window in the Z order. |
SW_RESTORE |
Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window. |
SW_SHOW |
Activates the window and displays it in its current size and position. |
SW_SHOWDEFAULT |
Sets the show state based on the SW_ flag specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application. |
SW_SHOWMAXIMIZED |
Activates the window and displays it as a maximized window. |
SW_SHOWMINIMIZED |
Activates the window and displays it as a minimized window. |
SW_SHOWMINNOACTIVE |
Displays the window as a minimized window. The active window remains active. |
SW_SHOWNA |
Displays the window in its current state. The active window remains active. |
SW_SHOWNOACTIVATE |
Displays a window in its most recent size and position. The active window remains active. |
SW_SHOWNORMAL |
Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when displaying the window for the first time. |
If the window was previously visible, the return value is nonzero.
If the window was previously hidden, the return value is zero.
The first time a program calls ShowWindow, it uses the WinMain function’s nCmdShow parameter as its nCmdShow parameter. Subsequent calls to ShowWindow must use one of the values in the given list, instead of the one specified by the WinMain function’s nCmdShow parameter.
As noted in the discussion of the nCmdShow parameter, the nCmdShow value is ignored in the first call to ShowWindow if the program that launched the application specifies startup information in the STARTUPINFO structure. In this case, ShowWindow uses the information specified in the STARTUPINFO structure to show the window. On subsequent calls, the application must call ShowWindow with nCmdShow set to SW_SHOWDEFAULT to use the startup information provided by the program that launched the application. For example, Program Manager specifies that applications start with a minimized main window. This behavior is designed for the following situations:
CreateProcess, CreateWindow, ShowOwnedPopups, STARTUPINFO, WinMain