Windows api minimize window
Функция ShowWindow устанавливает состояние показа определяемого окна.
HWND hWnd, // дескриптор окна
int nCmdShow // состояние показа окна
[in] Дескриптор окна.
[in] Определяет, как окно должно быть показано. Этот параметр первоначально игнорируется, когда прикладная программа вызывает ShowWindow , если программа, которая запустила приложение программу, предоставляет структуру STARTUPINFO . Иначе, при первом вызове функции ShowWindow , это значение должно быть значением, полученным функцией WinMain в ее параметре nCmdShow . В последующих обращениях, этот параметр может быть одним из следующих значений:
Значение
Предназначение
SW_FORCEMINIMIZE
Windows 2000/XP: Свертывает окно, даже если поток, который владеет окном, зависает. Этот флажок должен быть использоваться только при свертывании окон другого потока.
Скрывает окно и активизирует другое окно.
SW_MAXIMIZE
Развертывает заданное окно.
SW_MINIMIZE
Свертывает заданное окно и активизирует следующее окно верхнего уровня в Z-последовательности .
SW_RESTORE
Активизирует и показывает на экране окно. Если окно свернуто или развернуто, система восстанавливает в его первоначальных размерах и позиции. Прикладная программа должна установить этот флажок при восстановлении свернутого окна.
Активизирует окно и показывает на экране в его текущих размерах и позиции.
SW_SHOWDEFAULT
Устанавливает состояние показа, основанное на флажке SW_, определенном в структуре STARTUPINFO , переданной в функцию CreateProcess программой, которая запустила прикладную программу.
SW_SHOWMAXIMIZED
Активизирует окно и отображает его как развернутое окно.
SW_SHOWMINIMIZED
Активизирует окно и отображает его как свернутое окно.
SW_SHOWMINNOACTIVE
Показывает на экране окно как свернутое окно. Это значение походит на флажок SW_SHOWMINIMIZED , исключая окна, которые не активны.
SW_SHOWNA
Показывает на экране окно в его текущем размере и позиции. Это значение походит на флажок SW_SHOW , исключая окна, которые не активны.
SW_SHOWNOACTIVATE
Показывает окно в его самом современном размере и позиции. Это значение походит на флажок SW_SHOWNORMAL , исключая окна, которые не активны.
SW_SHOWNORMAL
Активизирует и показывает окно. Если окно свернуто или развернуто, система восстанавливает его в первоначальном размере и позиции. Прикладная программа должна установить этот флажок при отображении окна впервые.
Если окно перед этим было видимо, возвращается значение — не нуль.
Если окно перед этим было не видимо, возвращаемое значение — нуль.
Чтобы выполнять некоторые специальные эффекты при показе или сокрытии окна, используйте функцию AnimateWindow .
Первый раз, когда программа вызывает ShowWindow , она использует параметр nCmdShow функции WinMain как свой параметр nCmdShow . Последующие обращения к ShowWindow должны использовать одно из значений в данном списке, вместо того, заданного функцией WinMain параметра nCmdShow .
Как отмечено в обсуждении параметра nCmdShow , значение nCmdShow игнорируется при первом обращении к ShowWindow , если программа, которая запустила прикладную программу, определяет информацию автозапуска в структуре STARTUPINFO . В этом случае, ShowWindow использует информацию, заданную в структуре STARTUPINFO , чтобы показать окно. При последующих обращениях, приложение должно вызвать ShowWindow с установкой nCmdShow в SW_SHOWDEFAULT , чтобы использовать информацию автозапуска, предоставленную программой, которая запустила приложение. Это поведение разработано для следующих ситуаций:
- Прикладные программы создают свое основное окно, вызывая CreateWindow с установкой флажка WS_VISIBLE .
- Прикладные программы создают свое основное окно, вызывая CreateWindow со сброшенным флажком WS_VISIBLE , а позже вызывает функцию ShowWindow с установкой флажка SW_SHOW , чтобы делать окно видимым.
Windows api minimize window
Функция ShowWindow устанавливает состояние показа определяемого окна.
Параметры hWnd
Идентифицирует окно.
nCmdShow
Определяет, как окно должно быть показано. Этот параметр первоначально игнорируется, когда прикладная программа вызывает ShowWindow, если программа, которая запустила прикладную программу, обеспечивает структуру STARTUPINFO. Иначе, при первом вызове функции ShowWindow, это значение должно быть значением, полученным функцией WinMain в ее параметре nCmdShow. В последующих обращениях, этот параметр может быть одним из следующих значений:
- SW_HIDE — Скрывает окно и активизирует другое окно.
- SW_MAXIMIZE — Развертывает определяемое окно.
- SW_MINIMIZE — Свертывает определяемое окно и активизирует следующее окно верхнего уровня в Z-последовательности.
- SW_RESTORE — Активизирует и отображает окно. Если окно свернуто или развернуто, Windows восстанавливает в его первоначальных размерах и позиции. Прикладная программа должна установить этот флажок при восстановлении свернутого окна.
- SW_SHOW — Активизирует окно и отображает его текущие размеры и позицию.
- SW_SHOWDEFAULT — Устанавливает состояние показа, основанное на флажке SW_, определенном в структуре STARTUPINFO, переданной в функцию CreateProcess программой, которая запустила прикладную программу.
- SW_SHOWMAXIMIZED — Активизирует окно и отображает его как развернутое окно.
- SW_SHOWMINIMIZED — Активизирует окно и отображает его как свернутое окно.
- SW_SHOWMINNOACTIVE — Отображает окно как свернутое окно. Активное окно остается активным.
- SW_SHOWNA — Отображает окно в его текущем состоянии. Активное окно остается активным.
- SW_SHOWNOACTIVATE — Отображает окно в его самом современном размере и позиции. Активное окно остается активным.
- SW_SHOWNORMAL — Активизирует и отображает окно. Если окно свернуто или развернуто, Windows восстанавливает его в первоначальном размере и позиции. Прикладная программа должна установить этот флажок при отображении окна впервые.
Возвращаемые значения
Если функция завершилась успешно, возвращается значение отличное от нуля. Если функция потерпела неудачу, возвращаемое значение — ноль.
Замечания
Первый раз, когда программа вызывает ShowWindow, она использует параметр nCmdShow функции WinMain как свой параметр nCmdShow. Последующие обращения к ShowWindow должны использовать одно из значений в данном списке, вместо того, заданного функцией WinMain параметра nCmdShow. Как отмечено в обсуждении параметра nCmdShow, значение nCmdShow игнорируется при первом обращении к ShowWindow, если программа, которая запустила прикладную программу, определяет информацию автозапуска в структуре STARTUPINFO. В этом случае, ShowWindow использует информацию, заданную в структуре STARTUPINFO, чтобы показать окно. На последующих обращениях, прикладная программа должна вызвать ShowWindow с установкой nCmdShow в SW_SHOWDEFAULT, чтобы использовать информацию автозапуска, обеспеченную программой, которая запустила прикладную программу. Например, программа Program Manager устанавливает, что прикладные программы начинаются со свернутого основного окна. Это поведение разработано для следующих ситуаций:
- Прикладные программы создают свое основное окно, вызывая CreateWindow с установкой флажка WS_VISIBLE.
- Прикладные программы создают свое основное окно, вызывая CreateWindow со сброшенным флажком WS_VISIBLE, а при более позднем обращении к ShowWindow с установкой флаж-ка SW_SHOW, чтобы делать его видимым.
Размещение и совместимость ShowWindow
WM_SHOWWINDOW message
Sent to a window when the window is about to be hidden or shown.
A window receives this message through its WindowProc function.
Parameters
Indicates whether a window is being shown. If wParam is TRUE, the window is being shown. If wParam is FALSE, the window is being hidden.
The status of the window being shown. If lParam is zero, the message was sent because of a call to the ShowWindow function; otherwise, lParam is one of the following values.
Value | Meaning |
---|---|
SW_OTHERUNZOOM 4 | The window is being uncovered because a maximize window was restored or minimized. |
SW_OTHERZOOM 2 | The window is being covered by another window that has been maximized. |
SW_PARENTCLOSING 1 | The window’s owner window is being minimized. |
SW_PARENTOPENING 3 | The window’s owner window is being restored. |
Return value
Type: LRESULT
If an application processes this message, it should return zero.
Remarks
The DefWindowProc function hides or shows the window, as specified by the message. If a window has the WS_VISIBLE style when it is created, the window receives this message after it is created, but before it is displayed. A window also receives this message when its visibility state is changed by the ShowWindow or ShowOwnedPopups function.
The WM_SHOWWINDOW message is not sent under the following circumstances:
- When a top-level, overlapped window is created with the WS_MAXIMIZE or WS_MINIMIZE style.
- When the SW_SHOWNORMAL flag is specified in the call to the ShowWindow function.
ShowWindow function (winuser.h)
Sets the specified window’s show state.
Syntax
Parameters
A handle to the window.
Controls how the window is to be shown. This parameter is ignored the first time an application calls ShowWindow, if the program that launched the application provides a STARTUPINFO structure. Otherwise, the first time ShowWindow is called, the value should be the value obtained by the WinMain function in its nCmdShow parameter. In subsequent calls, this parameter can be one of the following values.
Value | Meaning |
---|---|
SW_FORCEMINIMIZE 11 | Minimizes a window, even if the thread that owns the window is not responding. This flag should only be used when minimizing windows from a different thread. |
SW_HIDE 0 | Hides the window and activates another window. |
SW_MAXIMIZE 3 | Maximizes the specified window. |
SW_MINIMIZE 6 | Minimizes the specified window and activates the next top-level window in the Z order. |
SW_RESTORE 9 | Activates and displays the window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when restoring a minimized window. |
SW_SHOW 5 | Activates the window and displays it in its current size and position. |
SW_SHOWDEFAULT 10 | Sets the show state based on the SW_ value specified in the STARTUPINFO structure passed to the CreateProcess function by the program that started the application. |
SW_SHOWMAXIMIZED 3 | Activates the window and displays it as a maximized window. |
SW_SHOWMINIMIZED 2 | Activates the window and displays it as a minimized window. |
SW_SHOWMINNOACTIVE 7 | Displays the window as a minimized window. This value is similar to SW_SHOWMINIMIZED, except the window is not activated. |
SW_SHOWNA 8 | Displays the window in its current size and position. This value is similar to SW_SHOW, except that the window is not activated. |
SW_SHOWNOACTIVATE 4 | Displays a window in its most recent size and position. This value is similar to SW_SHOWNORMAL, except that the window is not activated. |
SW_SHOWNORMAL 1 | Activates and displays a window. If the window is minimized or maximized, the system restores it to its original size and position. An application should specify this flag when displaying the window for the first time. |
Return value
If the window was previously visible, the return value is nonzero.
If the window was previously hidden, the return value is zero.
Remarks
To perform certain special effects when showing or hiding a window, use AnimateWindow.
The first time an application calls ShowWindow, it should use 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 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. This behavior is designed for the following situations:
- Applications create their main window by calling CreateWindow with the WS_VISIBLE flag set.
- Applications create their main window by calling CreateWindow with the WS_VISIBLE flag cleared, and later call ShowWindow with the SW_SHOW flag set to make it visible.