Windows API一日一練(7)ShowWindow函數

來源:互聯網
上載者:User
 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函數的使用。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.