Windows C 程序实现双缓冲
来源:互联网 发布:淘宝花呗分期靠谱吗 编辑:程序博客网 时间:2024/06/03 18:49
一、双缓冲原理及图解
(1)定义设备描述表及位图句柄
(2)创建一个与窗口矩形显示兼容的内存显示设备描述表,如图所示1步骤
(3)用hdc创建一个与窗口矩形显示兼容的位图,如图所示2步骤
(4)将位图hBitmap选入到内存显示设备hDCMem中,只有选入了位图的内存显示设备才有地方绘图,画到指定的位图上,如图所示3步骤
(5)用hdc背景色将位图清除干净,如图所示4步骤
(6)绘图,如图所示5步骤
(7)将内存中的图拷贝到窗口矩形上进行显示,如图所示6步骤
二、例子程序
例子程序来源于网上http://www.vckbase.com/document/viewdoc/?id=1612,设定一个时钟,在窗口矩形中绘制很多半径渐变的圆。你可以通过菜单来选择双缓冲或正常绘制模式。
在WM_CREATE中添加代码:
case WM_CREATE:
在WM_TIMERR中添加代码:
case WM_TIMER:
//注意第三个参数,这里设定为FALSE,表示在刷新窗口矩形是不擦除窗口背景,因此,在WM_PAINT消息中需
//要加入FillRect(hdc, &rt,hBrush),用来擦除上一次所画的东西
在WM_PAINT中添加代码:
case WM_PAINT:
处理菜单消息:
case IDM_DOUBLEBUFFER:
case IDM_NORMAL:
绘图函数:
void DrawCircle(HDC *hdc, RECT rt, int radius)
{
}
例子源码下载:http://www.pudn.com/downloads238/sourcecode/windows/detail1113620.html
- Windows C 程序实现双缓冲
- C# GDI+双缓冲技术
- java 双缓冲技术
- c/c++ 缓冲输入和非缓冲输入
- Windows SDK 标准窗口程序
- C# Windows form 学习积累《一》
- C# 如何在 Windows&nbsp…
- hadoop c++ pipes接口实现
- C sharp 实现 猜数…
- Windows 和 Ubuntu 10.04双…
- linux 下 C 程序(进程) 内存布局
- linux 下 C 程序(进程) 内存布局
- C++ static_cast
- C 实现冒泡排序
- 【转】matlab mex 应用接口程序,c…
- 兴趣学习: opencv 实现画图程序
- Objective C 监听 通知
- fzu 1759 A^B % C
- 使用StringBuilder, StringBuilder…
- C# StreamReader 和 StreamWriter …
- C语言程序设计经典书籍(支持微信…
- 桌面上我的电脑打不开怎么办?(转…
- 1KB文件夹快捷方式病毒清除(转)
- Windows C 程序实现双缓冲
- (转)手机开发平台指南、教程和资…
- (转)子窗口控件
- (转)任意角度的高质量的快速的图…
- (转)任意角度的高质量的快速的图…
- (转)任意角度的高质量的快速的图…
- word文档被锁定,无法编辑怎么办?(…
- static 全局静态变量与const常量
- 高质量C/C++编码规范