来源:大坡3D软件开发 | 2007-10-26 | (有8795人读过)
ShowWindow的API函数是显示窗口,但它在第一次调用和以后的调用是有区别的。第一次调用时,它的输入参数nCmdShow是需要输入WinMain函数里传入来的nCmdShow参数,而不能是其它参数。 函数声明如下: WINUSERAPI BOOL WINAPI ShowWindow( __in HWND hWnd, __in int nCmdShow); hWnd是窗口的句柄。 nCmdShow是窗口显示的状态。可能设置的值如下: SW_FORCEMINIMIZE是强制窗口最小化,主要使用在非窗口主线程的其它线程来操作。 SW_HIDE是显示窗口为隐藏状态。 SW_MAXIMIZE是显示窗口为最大化。 SW_MINIMIZE是显示窗口为最小化。 SW_RESTORE是从任务里恢复窗口显示。 SW_SHOW是激活窗口为当前窗口,并且显示为当前的大小和位置。 SW_SHOWDEFAULT是创建进程时显示窗口的值。 SW_SHOWMAXIMIZED是激活窗口为当前窗口,并且显示最大化。 SW_SHOWMINIMIZED是激活窗口为当前窗口,并且显示最小化。 SW_SHOWMINNOACTIVE是显示窗口为最小化,但不激活它作为当前窗口。 SW_SHOWNA是显示为当前的大小和位置,但不激活它作为当前窗口。 SW_SHOWNOACTIVATE是显示当前窗口,但不激活它作为当前窗口。 SW_SHOWNORMAL是显示当前窗口,但窗口是最小化或最大化时会恢复窗口为原来的大小和位置。 调用这个函数的实例如下: #001 BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) #002 { #003 HWND hWnd; #004 #005 hInst = hInstance; // 保存实例句柄到全局变量里。 #006 #007 hWnd = CreateWindow(szWindowClass, #008 szTitle, #009 WS_OVERLAPPEDWINDOW, #010 CW_USEDEFAULT, #011 0, #012 CW_USEDEFAULT, #013 0, #014 NULL, #015 NULL, #016 hInstance, #017 NULL); #018 #019 if (!hWnd) #020 { #021 return FALSE; #022 } #023 #024 ShowWindow(hWnd, nCmdShow); #025 UpdateWindow(hWnd); #026 #027 // #028 //蔡军生 2007/07/14 #029 //显示窗口测试。 #030 MessageBox(NULL,_T("最大化"),_T("测试"),MB_OK); #031 #032 //显示窗口为最大化。 #033 ShowWindow(hWnd, SW_SHOWMAXIMIZED); #034 #035 #036 MessageBox(NULL,_T("原来位置"),_T("测试"),MB_OK); #037 #038 //显示窗口为原来位置。 #039 ShowWindow(hWnd, SW_SHOWNORMAL); #040 #041 #042 return TRUE; #043 } 在第24行里先调用这个函数显示创建进程的窗口状态。 第33行里显示窗口为最大化。 第39行里显示窗口为原来的状态。 这样就可以掌握了ShowWindow函数的使用。
|