【文件属性】:
文件名称:MFC双缓冲及重绘示例
文件大小:132KB
文件格式:ZIP
更新时间:2019-07-09 11:33:21
双缓冲 重绘
/*
整理:
1、双缓冲绘图技术概述
原理:将一般的在CDC中绘图改成在一内存设备中绘图(CDC型变量,一般命名为pMemDC),然后使用BitBlt()函数将pMemDC中的图像复制到CDC中;
步骤: ①创建内存设备CDC *pMemDC;关联设备CreateCompatibleDC();
②创建兼容位图 HBITMAP ::CreateCompatibleBitmap();
③选入设备内存设备(HBITMAP)::SelectObject(m_hDC,hBitmap);
④内存设备绘图
⑤复制到CDC,使用函数 BitBlt()
2、手动重绘
原理: 利用内存设备的BitBlt()函数将初始CDC选入。将上面第⑤步的设备互换。
*/
/*
程序过程:
1、绘制背景,在函数DrawSome()中实现;并将其放在OnPaint()函数中,保证每次刷新时依然存在;
2、修改WM_ERASEBKGND消息响应函数,使得不加入背景刷(此步可以取消,暂时无影响,因为将DrawSome()放在了OnPaint()中);
3、响应鼠标左键按下,记录初始坐标点;
4、响应鼠标按下移动,并实时绘制矩形,此处用到双缓冲绘图技术;
5、响应鼠标左键松开,绘制红色矩形。
*/
【文件预览】:
resource.h
ReDraw.vcxproj
ReDraw.vcxproj.user
stdafx.h
ReDraw.rc
ReadMe.txt
res
----ReDraw.rc2(668B)
----ReDraw.ico(66KB)
stdafx.cpp
ReDraw.vcxproj.filters
ReDrawDlg.cpp
ReDraw.cpp
ReDraw.h
ReDraw.aps
ReDrawDlg.h
targetver.h