文件名称: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