當(dāng)前位置:首頁文章首頁 IT學(xué)院 IT技術(shù)

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

作者:  來源:  發(fā)布時間:2011-5-18 8:16:51  點(diǎn)擊:

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

我的問題是:

1.這樣做是否思路本身就是錯的?請詳細(xì)解釋一下這個錯誤出在哪里,謝謝!

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

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

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z