VC显示双缓冲

只做配角の

只做配角の

2016-02-19 20:11

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享VC显示双缓冲吧。

当应用程序中使用多次GDI调用绘制到窗口中时,在窗口清除并被重新绘制时,会出现明显的闪烁。使用双缓冲技术可轻松消除闪烁。

步骤如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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);

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

5、绘图操作,在memdc中进行,如:

     for(int i=0;iN;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);

展开更多 50%)
分享

猜你喜欢

VC显示双缓冲

编程语言 网络编程
VC显示双缓冲

使用 GDI+ 进行双缓冲绘图

电脑网络
使用 GDI+ 进行双缓冲绘图

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

BitBlt()双缓冲解决图象闪烁

编程语言 网络编程
BitBlt()双缓冲解决图象闪烁

使用双缓冲技术绘制曲线图

编程语言 网络编程
使用双缓冲技术绘制曲线图

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

VC++中利用/GS开关防止缓冲区溢出

编程语言 网络编程
VC++中利用/GS开关防止缓冲区溢出

基于WTL 双缓冲(double buffer)绘图的分析详解

编程语言 网络编程
基于WTL 双缓冲(double buffer)绘图的分析详解

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

VC中结构体内存分配问题透析

VC中结构体内存分配问题透析

MAC还原出厂设置的方法

MAC还原出厂设置的方法
下拉加载更多内容 ↓