首页 > 代码库 > 设定窗体显示状态(ShowWindow)

设定窗体显示状态(ShowWindow)

  API函数 ShowWindow 用来设定窗体的显示状态。原型声明如下:

BOOL ShowWindow(
HWND hWnd, // handle to window
int nCmdShow // show state
);

  第一个参数 hWnd 指定要设定窗口的句柄。第二个参数指定一个预定义常量,取值如下:

  SW_FORCEMINIMIZE:
Windows 2000/XP: 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:
  隐藏窗体并激活另一个窗体。

  SW_MAXIMIZE:
最大化指定的窗体。

SW_MINIMIZE:
最小化一个指定的窗体,并激活 Z 轴上(Z轴概念参考 SetWindowPos API 函数)下一个窗体。

SW_RESTORE:
激活并显示一个指定的窗体,如果窗体处于最小化或最大化状态,系统会将其恢复到正常的大
小和位置。当恢复一个最小化的窗口是,应用程序应该包含此标志。

SW_SHOWDEFAULT:
Sets the show state based on the SW_value specified in the STARTUPINFO stru
cture passed to the CreateProcess function by the program that started the appli
cation.
大概意思是说,在程序开始运行时,基于 CreateProcess 函数的 SW_value 参数所
指定的 STARTUPINFO 结构,来设定状态。
typedef struct _STARTUPINFO {
DWORD cb;
LPTSTR lpReserved;
LPTSTR lpDesktop;
LPTSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFO, *LPSTARTUPINFO

SW_SHOWMAXIMIZED:
激活一个窗口并以最大化的状态显示它。

SW_SHOWMINIMIZED:
激活一个窗口并以最小化的状态显示它。

SW_SHOWMINNOACTIVE:
以最小化的状态来显示一个窗体,除非窗体是非激活状态的,否则本函数的效果类似于
SW_SHOWMINIMIZED。

SW_SHOWNA:
以当前的大小和位置来显示一个窗体,除非窗体是非激活状态的,否则本函数效果类似
于SW_SHOW。

SW_SHOWNOACTIVATE:
以最近的状态来显示一个窗体。除非窗台是非激活的,否则本函数的效果类似于
SW_SHOWNORMAL。

SW_SHOWNORMAL:
激活并显示一个窗体,如果此窗体是处于最大化或最小化的,将恢复为默认的大小和位置。
在程序第一次显示一个窗口时,应该设定这个标志。

 

典型应用:
ShowWindow(Self.Handle, SW_SHOWMAXIMIZED);
//显示一个最大化窗体。

   

设定窗体显示状态(ShowWindow)