程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> VC顯示雙緩沖

VC顯示雙緩沖

編輯:vc教程

當應用程序中使用多次GDI調用繪制到窗口中時,在窗口清除並被重新繪制時,會出現明顯的閃爍。使用雙緩沖技術可輕松消除閃爍。

步驟如下:

1、假設當前顯示設備上下文為CDC * pDC;

2、使用CDC對象創建可兼容設備上下文,

      CDC memdc;

      memdc.CreateCompatibleDC(pDC);

3、使用CBitmap對象創建可兼容為圖,

      CBitmap bmp;

      bmp.CreateCompatibleBitmap(pDC,SCREEN_WIDTH,SCREEN_HEIGHT);

4、將CBitmap對象選入CDC對象中,

     CBitmap *poldbmp=memdc.SelectObject(&bmp);

5、繪圖操作,在memdc中進行,如:

     for(int i=0;i<N;i++)
    {
              memdc.MoveTo(i,0);
              memdc.LintTo(i,N);
     }

    Rectangle(hdcMem,0,0,SCREEN_WIDTH,SCREEN_HEIGHT);
   DrawMenuButton(hdcMem);

6、使用BitBlt函數將memdc內容拷貝至pDC

pDC->BitBlt(0,0,SCREEN_WIDTH,SCREEN_HEIGHT,&memdc,0,0,SRCCOPY);

7、最後別忘了,

    memdc.SelectObject(poldbmp);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved