→ karcher:推 01/14 20:46
真正造成閃爍的原因在於 當你呼叫重繪動作時
系統會把無效區中的所有的物件依序重繪
以一個簡單的重繪bmp的例子 可能的動作有
1. 先呼叫FillRect將底色塗掉
2. 呼叫BitBlt繪出bmp圖
你會看到的閃爍 是先看到底色 然後再看到bmp的現象
要解決這個問題 必需要讓DC實際上畫的動作只作一次才是解決之道
可以先建立一塊memDC
將FillRect與BitBlt的動作[畫]到memDC上
然後再把memDC[畫]到視窗的DC上才能避免
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.87.85.162