日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows API ShowWindow和UpdateWindow

發布時間:2023/12/18 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows API ShowWindow和UpdateWindow 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

      • ShowWindow函數原型
        • 返回值
        • 頭文件
      • UpdateWindow函數原型
        • 返回值
        • 頭文件

ShowWindow函數原型

WINUSERAPI BOOL WINAPI ShowWindow(__in HWND hWnd,__in int nCmdShow);

功能是:設置指定窗口的顯示狀態

參數說明
hWnd窗口句柄
nCmdShow指定窗口如何顯示

???????如果程序提供STARTUPINFO結構,那程序第一次調用ShowWindow時nCmdShow參數會被忽略,否則在第一次調用ShowWindow該值應是WinMain中的nCmdShow參數值。其值有:

值說明
SW_HIDE隱藏窗口并激活其他窗口。nCmdShow=0
SW_SHOWNORMAL/SW_NORMAL激活并顯示一個窗口。如果窗口被最小化或最大化,系統將其恢復到原來的尺寸和大小。應用程序在第一次顯示窗口的時候應該指定此標志。nCmdShow=1
SW_SHOWMINIMIZED激活窗口并將其最小化。nCmdShow=2
SW_SHOWMAXIMIZED激活窗口并將其最大化。nCmdShow=3
SW_MAXIMIZE最大化指定的窗口。nCmdShow=3
SW_SHOWNOACTIVATE以窗口最近一次的大小和狀態顯示窗口。激活窗口仍然維持激活狀態。nCmdShow=4
SW_SHOW在窗口原來的位置以原來的尺寸激活和顯示窗口。nCmdShow=5
SW_MINIMIZE最小化指定的窗口并且激活在Z序中的下一個頂層窗口。nCmdShow=6
SW_SHOWMINNOACTIVE窗口最小化,激活窗口仍然維持激活狀態。nCmdShow=7
SW_SHOWNA以窗口原來的狀態顯示窗口。激活窗口仍然維持激活狀態。nCmdShow=8
SW_RESTORE激活并顯示窗口。如果窗口最小化或最大化,則系統將窗口恢復到原來的尺寸和位置。在恢復最小化窗口時,應用程序應該指定這個標志。nCmdShow=9
SW_SHOWDEFAULT依據在STARTUPINFO結構中指定的SW_FLAG標志設定顯示狀態,STARTUPINFO 結構是由啟動應用程序的程序傳遞給CreateProcess函數的。nCmdShow=10
SW_FORCEMINIMIZE在WindowNT5.0中最小化窗口,即使擁有窗口的線程被掛起也會最小化。在從其他線程最小化窗口時才使用這個參數。nCmdShow=11

返回值

若窗口之前可見,則返回值非零;若窗口之前被隱藏,則返回值為零。

注意:應用程序第一次調用ShowWindow時,應該使用WinMain函數的nCmdshow參數作為它的nCmdShow參數。在隨后調用ShowWindow函數時,必須使用列表中的一個給定值,而不是由WinMain函數的nCmdSHow參數指定的值

頭文件

頭文件:Windows.h
庫文件:user32.lib
限制:Windows NT:3.1以上版本;Windows:95以上版本:Windows CE:1.0以上版本

UpdateWindow函數原型

WINUSERAPI BOOL WINAPI UpdateWindow(__in HWND hWnd);

???????功能:更新指定窗口的客戶區。若窗口更新的區域不為空,UpdateWindow函數就發送一個WM_PAINT消息來更新指定窗口的客戶區。函數繞過應用程序的消息隊列,直接發送WM_PAINT消息給指定窗口的窗口過程,如果更新區域為空,則不發送消息。
???????調用Invalidate等函數后窗口不會立即重繪,這是由于WM_PAINT消息的優先級很低,它需要等消息隊列中的其它消息發送完后才能被處理。調用UpdateWindow函數可使WM_PAINT被直接發送到目標窗口,從而導致窗口立即重繪。
???????調用UpdateWindow()時將會發送一個WM_PAINT消息,而應用程序在接收到WM_PAINT消息后,將自動地調用Invalidate()。所以,在程序代碼中,不一定要出現Invalidate()!UpdateWindow()就是立即發送WM_PAINT消息,UpdateWindow要求系統對區域進行立即重繪,其只對聲明為無效的區域起作用,而Invalidate()是聲明無效區域的方式之一。Invalidate()表示客戶區域無效,在下次WM_PAINT發生時重繪。而WM_PAINT是由系統進行維護的,每當CWnd的更新區域不為空,并且在應用程序的窗口消息隊列中沒有其它消息時,Windows就發送一條WM_PAINT消息。

參數說明
hWnd窗口句柄

返回值

若函數調用成功則返回非零值,否則返回零。

頭文件

頭文件:Windows.h
庫文件:user32.lib
限制:Windows NT/2000/XP: 包括 Windows NT 3.1 及以后版本;Windows 95/98/Me: 包括 Windows 95 及以后版本

總結

以上是生活随笔為你收集整理的Windows API ShowWindow和UpdateWindow的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。