IsIconic

IsIconic

該函式確定給定視窗是否是最小化(圖示化)的視窗。

函式功能

該函式確定給定視窗是否是最小化(圖示化)的視窗。

vb用法:if IsIconic(hwnd) > 0 then。。。。。'若該視窗為最小化狀態則。。。。

'(hwnd為要判斷的視窗的句柄可用FindWindow等函式獲得)

速查

Windows NT:3.1以上版本;Windows:95以上版本;

返回值:如果視窗未最小化,返回值為零;如果視窗已最小化,返回值為非零。

頭檔案

winuser.h;

庫檔案

user32.Iib。

其中IsIconic()分支代碼的作用是當視窗處於最小化狀態時進行圖示的繪製操作。但是實際上你會發現,在視窗最小化一般來說是不會進行視窗的重繪,也就是不會觸發WM_PAINT訊息。當然,用戶可以強制進行重繪。正常情況下,在RegisterClass時我們一般會為wc設定一個圖示Icon。如果註冊視窗類的時候為視窗類設定了圖示,那么當視窗最小化的時候,系統會繪製此圖示;如果註冊視窗類的時候我們沒有為視窗類設定圖示,那么當視窗最小化Minimized的時候,系統會發一個WM_PAINT訊息通知視窗過程進行視窗最小化的繪製操作。

msdn是如上所說。不過測試了下,通過修改對話框的GCL_HICON,設定為0,然後在對話框視窗最小化的時候也是不會觸發OnPaint。msdn關於WM_ICONERASEBKGND訊息也是在win3.1之前的版本有效,在繪製圖示之前先擦除背景,在win3.1之後的版本被忽略。

實際上,在視窗最小化我們可以再wm_syscommand訊息中處理最小化操作,但是此時視窗的isIconic返回的還是false,表明此時視窗的最小化狀態還沒有被設定。另外還有一個訊息就是wm_size,在最小化視窗後會發生wm_size訊息,在發此訊息之前視窗的最小化狀態是已經被設定了的。因此如果想要在視窗最小化做什麼操作的話,可以再wm_size中處理,然後用IsIcnoic函式判斷是否是最小化。

相關詞條

相關搜尋

熱門詞條

聯絡我們