1.ShowWindow
原文:
The
ShowWindow function sets the specified window's show state.
BOOL ShowWindow(
HWND
hWnd
,
// handle to window
int
nCmdShow
// show state of window
);
Parameters
hWnd
Handle to the window.
nCmdShow
Specifies 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
|
Windows NT 5.0 and later: Minimizes a window, even if the thread that owns the window is hung. This flag should only be used when minimizing windows from a different thread.
|
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, the system 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, 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 Values
If the window was previously visible, the return value is nonzero.
If the window was previously hidden, the return value is zero.
Remarks
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
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. 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.
Windows CE: The
nCmdShow parameter does not support the following values:
SW_MAXIMIZE
SW_MINIMIZE
SW_RESTORE
SW_SHOWDEFAULT
SW_SHOWMAXIMIZED
SW_SHOWMINIMIZED
SW_SHOWMINNOACTIVE
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.
Windows: Requires Windows 95 or later.
Windows CE: Requires version 1.0 or later.
Header: Declared in winuser.h.
Import Library: Use user32.lib.
See Also
Windows Overview,
Window Functions,
CreateProcess,
CreateWindow,
ShowOwnedPopups,
STARTUPINFO,
WinMain
翻译:
ShowWindow函数设置指定窗口的显示状态。
BOOL ShowWindow(
HWND
hWnd
,
//
窗口句柄
int
nCmdShow
//
窗口的显示状态
);
参数:
hWnd:窗口句柄。
nCmdShow:指定窗口如何被显示。当应用程序第一次调用ShowWindow函数时该参数被忽略,如果程序的装入程序提供STARTUPINFO结构体。另外,第一次调用该函数时,参数通过主函数的nCmdShow参数获得,在之后的调用中,参数可以是以下值:
Value
|
Meaning
|
SW_FORCEMINIMIZE
|
Windows NT 5.0 and later:窗口最小化,即使拥有线程的窗口被挂起,该标志用来最小化不同线程的窗口。
|
SW_HIDE
|
隐藏该窗口,激活另一窗口
|
SW_MAXIMIZE
|
最大化指定窗口
|
SW_MINIMIZE
|
最小化指定窗口,并激活z轴上最上层的窗口
|
SW_RESTORE
|
激活并显示窗口如果窗口处于最小或最大状态,系统恢复原始的尺寸和位置。应用程序可指定该标志当要恢复被最小化了的窗口时
|
SW_SHOW
|
按照当前的位置和尺寸激活并显示窗口
|
SW_SHOWDEFAULT
|
基于指定的STARTUPINFO结构体中的SW_标志设置显示方式,该结构体是开始应用程序时传递给CteateProcess函数的。
|
SW_SHOWMAXIMIZED
|
以最大化的方式,激活并显示窗口
|
SW_SHOWMINIMIZED
|
以最小化方式,激活并显示窗口
|
SW_SHOWMINNOACTIVE
|
最小化显示窗口,并保持被激活状态
|
SW_SHOWNA
|
以当前的状态显示窗口,并保持激活状态
|
SW_SHOWNOACTIVATE
|
按照近期的尺寸和位置显示窗口,并保持激活状态
|
SW_SHOWNORMAL
|
激活并显示窗口,如果窗口最小化或最大化,系统恢复它的原始位置和大小。一个应用程序在第一次显示窗口时需要指定这个标志
|
返回值:
如果当前窗口处于可见状态,返回只为非零。如果窗口为隐藏状态,返回值为零。
备注:应用程序第一次调用该程序,需要使用WinMain函数的nCmdShow参数作为它的参数。以后的调用必须使用上面列表中的值。
在关于nCmdShow参数的一个著名讨论中,该值在第一次调用ShowWindow函数时被忽略,如果应用程序的装入程序在STARTUPINFO结构体指定了启动信息。如果这样的话,ShowWindow使STARTUPINFO结构体中的信息来显示窗口。在这之后的调用中,必须设置nCmdShow参数SW_SHOWDEFAULT标识,才能以启动时提供的参数显示窗口。在以下情况是使用这种方法:
应用程序通过CreatWindow函数创建主窗口,设置了WS_VISILE属性。
应用程序通过CreatWindow函数创建主窗口,清除了WS_VISILE属性,之后调用ShowWindow,设置SW_SHOW属性显示窗口。
在Window CE中nCmdShow参数不支持下列属性:略