Invalidate, Repaint, Update, Refresh區別

Refresh和Repaint是一樣的,它只是簡單地調用了Repaint.
Update會導致整個窗口(對於沒有窗口的TGraphicControl來說,就是它的父控件的窗口)立即處理WM_PAINT消息,即重畫應該畫的部分.
Invalidate使控件所在窗口的控件客戶區域(對於TWinControl來說就是它的客戶區域,對於TGraphicControl來說就是它的父控件的窗口在它的區域範圍內的部分)失效,從而產生一個WM_PAINT消息,但並不馬上重繪,直到其它消息處理完或遇到一個Update的調用.
Repaint是立即重繪該控件,在TWinControl中其實就是調用了Invalidate和Update,在TGraphiControl中分不同情況作了不同處理,邏輯稍複雜一些,但功能是一樣的.
發佈了126 篇原創文章 · 獲贊 24 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章