當(dāng)前位置: 首頁IT技術(shù) → VC++ MFC背景位圖重繪區(qū)域避免閃屏的方法

VC++ MFC背景位圖重繪區(qū)域避免閃屏的方法

更多

我做了一個(gè)單文檔MFC程序,在背景上加載了一個(gè)bmp圖像資源,因?yàn)槌绦蛐枰诟谋尘吧嫌肦ectangle(CRect(0,0,412,311))設(shè)置一個(gè)區(qū)域,并不斷滴刷新該區(qū)域,為了防止bmp背景的閃屏,我就用雙緩沖技術(shù)加載了該bmp,然后又在該背景上繪制我要?jiǎng)討B(tài)刷新的區(qū)域【即是上面用Rectangle(CRect(0,0,412,311))產(chǎn)生的區(qū)域】,發(fā)現(xiàn)該區(qū)域有閃爍。我就想是否可以再次用雙緩沖技術(shù)來繪制該區(qū)域,但是我發(fā)現(xiàn)這樣做以后它還是有閃爍。

我的問題是:

1.這樣做是否思路本身就是錯(cuò)的?請(qǐng)?jiān)敿?xì)解釋一下這個(gè)錯(cuò)誤出在哪里,謝謝!

2.我是否可在已經(jīng)加載進(jìn)來的bmp背景上對(duì)閃爍區(qū)域單獨(dú)做出某些處理,比如重載OnEraseBkgnd()函數(shù)等(我發(fā)現(xiàn)這種也是無法解決問題的)思路去解決該問題,煩請(qǐng)給出具體思路或提示代碼,謝謝!

3.這是我想到的另一種解決思路,向單文檔中導(dǎo)入(用非雙緩沖技術(shù))bmp做背景,然后在背景上再用雙緩沖技術(shù)繪制我要不斷刷新的區(qū)域?但是關(guān)鍵我不知道如何使導(dǎo)入的bmp作為背景,并使我要的區(qū)域能真正地在此bmp背景上重繪,請(qǐng)給予賜教?

熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)