ShowWindow
ShowWindow
函數功能:該函數設置指定窗口的顯示狀態。
函數原型:BOOL ShowWindow(HWND hWnd, int nCmdShow);
hWnd:指窗口句柄。
nCmdShow:指定窗口如何顯示。如果發送應用程序的程序提供了STARTUPINFO結構,則應用程序第一次調用ShowWindow時該參數被忽略。否則,在第一次調用ShowWindow函數時,該值應為在函數WinMain中nCmdShow參數。在隨後的調用中,該參數可以為下列值之一:
SW_FORCEMINIMIZE:在WindowNT5.0中最小化窗口,即使擁有窗口的線程被掛起也會最小化。在從其他線程最小化窗口時才使用這個參數。nCmdShow=11。
SW_HIDE:隱藏窗口並激活其他窗口。nCmdShow=0。
SW_MAXIMIZE:最大化指定的窗口。nCmdShow=3。
SW_MINIMIZE:最小化指定的窗口並且激活在Z序中的下一個頂層窗口。nCmdShow=6。
SW_RESTORE:激活並顯示窗口。如果窗口最小化或最大化,則系統將窗口恢復到原來的尺寸和位置。在恢復最小化窗口時,應用程序應該指定這個標誌。nCmdShow=9。
SW_SHOW:在窗口原來的位置以原來的尺寸激活和顯示窗口。nCmdShow=5。
SW_SHOWDEFAULT:依據在STARTUPINFO結構中指定的SW_FLAG標誌設定顯示狀態,STARTUPINFO 結構是由啟動應用程序的程序傳遞給CreateProcess函數的。nCmdShow=10。
SW_SHOWMAXIMIZED:激活窗口並將其最大化。nCmdShow=3。
SW_SHOWMINIMIZED:激活窗口並將其最小化。nCmdShow=2。
SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然維持激活狀態。nCmdShow=7。
SW_SHOWNA:以窗口原來的狀態顯示窗口。激活窗口仍然維持激活狀態。nCmdShow=8。
SW_SHOWNOACTIVATE:以窗口最近一次的大小和狀態顯示窗口。激活窗口仍然維持激活狀態。nCmdShow=4。
SW_SHOWNORMAL:激活並顯示一個窗口。如果窗口被最小化或最大化,系統將其恢復到原來的尺寸和大小。應用程序在第一次顯示窗口的時候應該指定此標誌。nCmdShow=1。
如果窗口之前可見,則返回值為非零。如果窗口之前被隱藏,則返回值為零。
(參考信息MSDN)
Return Values
If the window was previously visible, the return value is nonzero.
If the window was previously hidden, the return value is zero.
ShowWindow Me.lblHwnd, SW_Minimize
導入庫:user32.dll
***.Net中運用
命名空間 using System.Runtime.InteropServices;
導入庫 [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
參數說明 IntPtr hWnd, hWnd指窗口句柄;uint nCmdShow,nCmdShow指定窗口如何顯示的參數
返回值 布爾值
應用程序第一次調用ShowWindow時,應該使用WinMain函數的nCmdshow參數作為它的nCmdShow參數。在隨後調用ShowWindow函數時,必須使用列表中的一個給定值,而不是由WinMain函數的nCmdSHow參數指定的值。
正如在nCmdShow參數中聲明的,如果調用應用程序的程序使用了在STARTUPINFO結構中指定的信息來顯示窗口,則在第一次調用ShowWindow函數時nCmdShow參數就被忽略。在這種情況下,ShowWindow函數使用STARTUPINFO結構中的信息來顯示窗口。在隨後的調用中,應用程序必須調用ShowWindow 函數(將其中nCmdShow參數設為SW_SHOWDEFAULT)來使用由程序調用該應用程序時提供的啟動信息。這個處理在下列情況下發生:
應用程序通過調用帶WS_VISIBLE標誌的函數來創建它們的主窗口函數;
應用程序通過調用清除了WS_VISIBLE標誌的CreateWindow函數來創建主窗口函數,並且隨後調用帶SW_SHOW標誌的ShowWindow函數來顯示窗口。
Windows CE:nCmdShow參數不支持下列值:
SW_MAXIMINZE;SW_MINIMIZE;SW_RESTORE;SW_SHOWDEFAULT
SW_SHOWMAXIMIZED;SW_SHOWMINIMIZED;SW_SHOWMININOACTIVATE
速查:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本;頭文件:winuw庫文件:user32.lib。