手机
当前位置:查字典教程网 >编程开发 >C语言 >解析在WTL下使用双缓冲的实现方法
解析在WTL下使用双缓冲的实现方法
摘要:使用WTL的CDoubleBufferImpl类可以方便的实现双缓冲,而不必自己实现繁琐的代码,不仅可以绘制一般窗口,也可以绘制对话框的背景...

使用WTL的CDoubleBufferImpl类可以方便的实现双缓冲,而不必自己实现繁琐的代码,不仅可以绘制一般窗口,也可以绘制对话框的背景等。

首先 #include <atlframe.h>

其次需要双缓冲画图的类需要派生自CDoubleBufferImpl<>:

class CMainDlg : public CDialogImpl<CMainDlg>, public CDoubleBufferImpl<CMainDlg>{}

然后消息链中加入

BEGIN_MSG_MAP_EX(CMainDlg)

//....

CHAIN_MSG_MAP(CDoubleBufferImpl<CMainDlg>)

END_MSG_MAP()

最后写DoPaint函数,直接画就可以了

void DoPaint(CDCHandle dc)

{ //画个矩形

dc.Rectangle(0, 0, 10, 10);

}

成了。

注意,由于CDoubleBufferImpl类响应了WM_PAINT消息和WM_ERASEBKGND消息,因此,自己的类中不必再响应。

【解析在WTL下使用双缓冲的实现方法】相关文章:

解析c语言switch中break语句的具体作用

排列组合总结:将结果进行输出的实现方法

利用C++的基本算法实现十个数排序

C++读写Excel的实现方法详解

解决C++中事件不响应的方法详解

深入理解约瑟夫环的数学优化方法

将正小数转化为2-9进制小数的实现方法

自己实现strcpy函数的实现方法

判断机器大小端的两种实现方法

美化你的代码 vb(VBS)代码格式化的实现代码

精品推荐
分类导航