刷新--MFC界面刷新函數比較


一:什么時候才會發生重繪窗口的消息?

      當需要更新或重新繪制窗口的外觀時,應用程序就會發送WM_PAINT消息。對窗口進行重新繪制。

二:Invalidate() -- RedrawWindow() -- UpdateWindow()三個函數有什么異同?

      Invalidate()是強制系統進行重畫,但是不一定就馬上進行重畫。因為Invalidate()只是通知系統,此 時的窗口已經變為無效。強制系統調用WM_PAINT,而這個消息只是Post就是將該消息放入消息隊列。當執行到WM_PAINT消息時才會對敞口進行重繪。

     UpdateWindow只向窗體發送WM_PAINT消息,在發送之前判斷GetUpdateRect(hWnd,NULL,TRUE)看有無可繪制的客戶區域,如果沒有,則不發送WM_PAINT。

     RedrawWindow()則是具有Invalidate()和UpdateWindow()的雙特性。聲明窗口的狀態為無效,並立即更新窗口,立即調用WM_PAINT消息處理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM