欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于WTL中使用雙緩沖避免閃爍的解決方法

 更新時(shí)間:2013年05月17日 16:29:32   作者:  
本篇文章是對(duì)WTL中使用雙緩沖避免閃爍的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
在自己畫的窗口中,有時(shí)候會(huì)有閃爍現(xiàn)象。為什么會(huì)有閃爍現(xiàn)象呢?其實(shí)是因?yàn)槌绦蛟诋嫶翱跁r(shí)需要用背景色清空顯示區(qū)域,然后再畫。由于這兩者的反差比較大,就會(huì)被人眼睛捕捉到,感覺閃爍。
雙緩沖就是先在內(nèi)存中把圖畫好,然后直接復(fù)制到屏幕上去,這樣的反差就比較小,也就不覺得閃爍了。




WTL中的CDoubleBufferImpl
WTL中有現(xiàn)成的雙緩沖類實(shí)現(xiàn),可以很方便的使用就達(dá)到效果。
CDoubleBufferImpl 在AtlFrame.h中。
1.首先繼承自CDoubleBufferImpl

復(fù)制代碼 代碼如下:

class TCtrl:
        public CWindowImpl< TCtrl>, 
        public WTL::CDoubleBufferImpl<TCtrl>  // 繼承雙緩沖類

2.由于雙緩沖類中已經(jīng)處理了WM_ERASEBKGND 和WM_PAINT消息,所以需要從你的代碼中刪除對(duì)這些消息的處理。然后加上雙緩沖的消息處理即可。
復(fù)制代碼 代碼如下:

 BEGIN_MSG_MAP(TCtrl)
//        MESSAGE_HANDLER(WM_PAINT,        OnPaint)
        CHAIN_MSG_MAP( WTL::CDoubleBufferImpl<TCtrl>)
    END_MSG_MAP()

3.增加一個(gè)DoPaint函數(shù),函數(shù)聲明如下:
復(fù)制代碼 代碼如下:

void DoPaint(CDCHandle dc);

4.將原來OnPaint函數(shù)中的代碼移到DoPaint中,注意原來的CPaintDC需要改用參數(shù)中的CDCHandler
復(fù)制代碼 代碼如下:

void TCtrl::DoPaint( CDCHandle dc )
{
    //CPaintDC dc(m_hWnd);     dc.MoveTo( xx… )}

OK,編譯吧。

相關(guān)文章

  • C/C++實(shí)現(xiàn)雙路快速排序算法原理

    C/C++實(shí)現(xiàn)雙路快速排序算法原理

    這篇文章主要為大家詳細(xì)介紹了C/C++實(shí)現(xiàn)雙路快速排序算法原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • 深入理解大數(shù)與高精度數(shù)的處理問題

    深入理解大數(shù)與高精度數(shù)的處理問題

    本篇文章是對(duì)大數(shù)與高精度數(shù)的處理進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++中memset函數(shù)用法詳解

    C++中memset函數(shù)用法詳解

    這篇文章主要介紹了C++中memset函數(shù)用法,結(jié)合實(shí)例形式詳細(xì)分析了memset函數(shù)的功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-06-06
  • C語言實(shí)現(xiàn)簡(jiǎn)易版三子棋游戲

    C語言實(shí)現(xiàn)簡(jiǎn)易版三子棋游戲

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)簡(jiǎn)易版三子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Opencv提取連通區(qū)域輪廓的方法

    Opencv提取連通區(qū)域輪廓的方法

    這篇文章主要為大家詳細(xì)介紹了Opencv提取連通區(qū)域輪廓的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • C++利用鏈表模板類實(shí)現(xiàn)簡(jiǎn)易隊(duì)列

    C++利用鏈表模板類實(shí)現(xiàn)簡(jiǎn)易隊(duì)列

    這篇文章主要為大家詳細(xì)介紹了C++利用鏈表模板類實(shí)現(xiàn)一個(gè)簡(jiǎn)易隊(duì)列,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • C語言修煉之路靈根孕育源流出?初識(shí)C言大道生上篇

    C語言修煉之路靈根孕育源流出?初識(shí)C言大道生上篇

    C語言是一門面向過程、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡(jiǎn)易的方式編譯、處理低級(jí)存儲(chǔ)器。C語言是僅產(chǎn)生少量的機(jī)器語言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計(jì)語言
    2022-03-03
  • C語言實(shí)現(xiàn)簡(jiǎn)易通訊錄完整流程

    C語言實(shí)現(xiàn)簡(jiǎn)易通訊錄完整流程

    這篇文章主要為大家介紹了C語言實(shí)現(xiàn)簡(jiǎn)易通訊錄的完整流程,每個(gè)環(huán)節(jié)都有完整代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-02-02
  • C++11?condition_variable條件變量的用法說明

    C++11?condition_variable條件變量的用法說明

    這篇文章主要介紹了C++11?condition_variable條件變量的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 淺析C++的特殊工具與技術(shù)

    淺析C++的特殊工具與技術(shù)

    以下是對(duì)C++中的特殊工具與技術(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下
    2013-08-08

最新評(píng)論