VC++ MFC背景位圖重繪區域避免閃屏的方法
作者: 來源: 發布時間:2011-5-18 8:16:51 點擊:
我做了一個單文檔MFC程序,在背景上加載了一個bmp圖像資源,因為程序需要在改背景上用Rectangle(CRect(0,0,412,311))設置一個區域,并不斷滴刷新該區域,為了防止bmp背景的閃屏,我就用雙緩沖技術加載了該bmp,然后又在該背景上繪制我要動態刷新的區域【即是上面用Rectangle(CRect(0,0,412,311))產生的區域】,發現該區域有閃爍。我就想是否可以再次用雙緩沖技術來繪制該區域,但是我發現這樣做以后它還是有閃爍。
我的問題是:
1.這樣做是否思路本身就是錯的?請詳細解釋一下這個錯誤出在哪里,謝謝!
2.我是否可在已經加載進來的bmp背景上對閃爍區域單獨做出某些處理,比如重載OnEraseBkgnd()函數等(我發現這種也是無法解決問題的)思路去解決該問題,煩請給出具體思路或提示代碼,謝謝!
3.這是我想到的另一種解決思路,向單文檔中導入(用非雙緩沖技術)bmp做背景,然后在背景上再用雙緩沖技術繪制我要不斷刷新的區域?但是關鍵我不知道如何使導入的bmp作為背景,并使我要的區域能真正地在此bmp背景上重繪,請給予賜教?
上一篇:sizeof 的使用讓程序多一個標記 下一篇: 關于輸入法不顯示的問題
[收藏此文章]