| 網(wǎng)站首頁 | 關于我們 | 開發(fā)優(yōu)勢 | 產品展示 |
| 合作企業(yè) | 新聞動態(tài) | 聯(lián)系我們 | 電話聯(lián)系 |
文章作者:濟南軟件開發(fā) 時間:2016年12月20日
1、Invalidate函數(shù)
void Invalidate( BOOL bErase = TRUE );
該函數(shù)的作用是使整個窗口客戶區(qū)無效。窗口的客戶區(qū)無效意味著需要重繪,例如,如果一個被其它窗口遮住的窗口變成了前臺窗口,那么原來被遮住的部分就是無效的,需要重繪,這時Windows會在應用程序的消息隊列中放置WM_PAINT消息。MFC為窗口類提供了WM_PAINT的消息處理函數(shù)OnPaint,OnPaint負責重繪窗口。視圖類有一些例外,在視圖類的OnPaint函數(shù)中調用了OnDraw函數(shù),實際的重繪工作由OnDraw來完成。參數(shù)bErase為TRUE時,重繪區(qū)域內的背景將被擦除,否則,背景將保持不變。
2、UpdateWindow函數(shù)
UpdateWindow的作用是使窗口立即重繪。調用Invalidate等函數(shù)后窗口不會立即重繪,這是由于WM_PAINT消息的優(yōu)先級很低,它需要等消息隊列中的其它消息發(fā)送完后才能被處理。調用UpdateWindow函數(shù)可使WM_PAINT被直接發(fā)送到目標窗口,從而導致窗口立即重繪。
3、OnPaint函數(shù)
OnPaint是WM_PAINT消息的消息處理函數(shù),在OnPaint中調用OnDraw,一般來說,用戶自己的繪圖代碼應放在OnDraw中。為什么需要OnDraw呢,是為了讓OnDraw一個函數(shù)服務于不同的繪圖環(huán)境,比如顯示器,打印機,繪圖儀,MFC在調用OnDraw之前會把適當?shù)腃DC對象傳給OnDraw函數(shù)。這樣窗口的打印功能就可以和顯示共用一個函數(shù)。
想要了解更多詳情歡迎來電咨詢18678812288
登陸網(wǎng)址:m.h6244.cn。
聯(lián)系人:王經理。