2009年11月11日 星期三

invalidate()

首先
感謝Na神的教學

問題發生的經過
準備一個memorydc要畫圖

一開始
畫畫畫
然後OnPaint的時候
把這個memorydc給他印到螢幕上

之後
因為user操作畫面的關係
需要做相對應的動作
所以必須要再繼續對memorydc繼續畫圖

這時候
手動給他呼叫OnPaint卻無法將Screen畫面做更新
(雖然我已經對memorydc更新過了)

Na神教學
這時候要使用invalidate function來取代直接呼叫OnPaint

精神在於
你直接呼叫OnPaint
他會認為要畫畫的區域沒有需要更新的部份
所以
就不更新了
如果用Invalidate會去更新flag通知OnPaint做更新畫面

透過Facebook分享

沒有留言: