首先給出實現的程式,然後再解釋,同樣是在ondraw(cdc *pdc)中:
cdc memdc; //首先定義乙個顯示裝置物件
cbitmap membitmap;//定義乙個位圖物件
//隨後建立與螢幕顯示相容的記憶體顯示裝置
memdc.createcompatibledc(null);
//這時還不能繪圖,因為沒有地方畫
//下面建立乙個與螢幕顯示相容的點陣圖,至於點陣圖的大小嘛,可以用視窗的大小
membitmap.createcompatiblebitmap(pdc,nwidth,nheight);
//將位圖選入到記憶體顯示裝置中
//只有選入了點陣圖的記憶體顯示裝置才有地方繪圖,畫到指定的點陣圖上
cbitmap *poldbit=memdc.selectobject(&membitmap);
//先用背景色將位圖清除乾淨,這裡我用的是白色作為背景
//你也可以用自己應該用的顏色
memdc.fillsolidrect(0,0,nwidth,nheight,rgb(255,255,255));
//繪圖
memdc.moveto(……);
memdc.lineto(……);
//將記憶體中的圖拷貝到螢幕上進行顯示
pdc->bitblt(0,0,nwidth,nheight,&memdc,0,0,srccopy);
//繪圖完成後的清理
membitmap.deleteobject();
memdc.deletedc();
要簡單也可以過載onerasebkgnd(cdc* pdc)直接返回true
C 控制項開發的閃爍問題和解決方法總結
最近對 作了一些優化,試驗後效果還可以,但是發現介面會閃爍,具體是treeview控制項會閃爍,語言為c ide為vs2005。在查閱一些資料,使用了一些基本技術後 如開啟雙緩衝 發現沒什麼效果。於是使用profiler工具,查詢出瓶頸在於每次更新完介面的endupdate操作 使用這個是為了減少介...
C 控制項的閃爍問題解決方法總結
最近對 作了一些優化,試驗後效果還可以,但是發現介面會閃爍,具體是treeview控制項會閃爍,語言為c ide為vs2005。在查閱一些資料,使用了一些基本技術後 如開啟雙緩衝 發現沒什麼效果。於是使用profiler工具,查詢出瓶頸在於每次更新完介面的endupdate操作 使用這個是為了減少介...
MFC中螢幕重新整理閃爍問題解決方法總結
在mfc中經常遇到螢幕重新整理的問題,下面是幾種解決方法。重新整理整個程式區域,有明顯的閃爍情況 invalidate true updatewindow 重新整理指定區域,該區域有閃爍情況,不過比上一種方法要好多了。invalidaterect m rect,true 0 updatewindow...