Visual C++中实现双缓冲的基本原理
来源:互联网 发布:手机淘宝申请退款步骤 编辑:程序博客网 时间:2024/04/29 00:01
例如在OnDraw()函数中可以如下所述实现双缓冲,其主要步骤分为四步:
CPen Pen;
Pen.CreatePen(PS_INSIDEFRAME,1,RGB(225,225,0));
CBrush Brush;
Brush.CreateSolidBrush(RGB(225,225,0));
CDC dcMem;
CBitmap bm;
CRect rc;
GetClientRect(&rc);
// Step 1:为屏幕DC创建兼容的内存DC :CreateCompatibleDC()
dcMem.CreateCompatibleDC(pDC);
// Step 2:创建位图:CreateCompatibleBitmap()
bm.CreateCompatibleBitmap(pDC,rc.Width(),rc.Height());
// Step 3:把位图选入设备环境:SelectObject(),可以理解为选择画布
dcMem.SelectObject(&bm);
dcMem.SelectObject(Pen);
dcMem.SelectObject(Brush);
dcMem.Ellipse(0,0,50,50);//画椭圆
// Step 4:把绘制好的图形“拷贝“到屏幕上:BitBlt()
pDC->BitBlt(0,0,rc.Width(),rc.Height(),&dcMem,0,0,SRCCOPY);
dcMem.DeleteDC();
bm.DeleteObject();
这样便实现了双缓冲,通过这个方法可以防止在VC中画图时出现屏幕闪烁的情况。
- Visual C++中实现双缓冲的基本原理
- Visual C++中实现双缓冲的基本原理
- Visual C++中实现双缓冲
- 双缓冲基本原理
- MFC VC 双缓冲绘图基本原理与实现,详细解释
- MFC VC 双缓冲绘图基本原理与实现,详细解释
- MFC VC 双缓冲绘图基本原理与实现,详细解释
- MFC VC 双缓冲绘图基本原理与实现,详细解释
- j2me中双缓冲实现
- 双缓冲窗体以减少闪烁 (Visual C#)
- 双缓冲窗体以减少闪烁 (Visual C#)
- DTW的基本原理及其C语言实现
- c++builder 的双缓冲
- OpenGL中实现双缓冲技术的方法
- GDI双缓冲的实现
- Visual C#中实现窗体间的数据传递(1)
- Visual C#中实现窗体间的数据传递
- Visual C#中实现窗体间的数据传递之一
- 把mysql 4.0.20的数据表文件(myisam)格式迁移到mysql 5.0下面后phpmyadmin出现乱码
- VC中预处理指令与宏定义的妙用一
- 免费午餐已经结束——软件历史性地向并发靠拢
- 揭秘6000后的多头陷阱
- VC中预处理指令与宏定义的妙用之二
- Visual C++中实现双缓冲的基本原理
- 大象跳累小象要醉
- 开发大型高负载类网站应用的几个要点
- ASP.NET中GUID类
- 解决ubuntu下gftp乱码问题!
- 说说大型高并发高负载网站的系统架构
- 【转帖】MySQL4升级到MySQL5保留字的变化
- JAVA实现拼图游戏
- 什么是证券投资基金?