文件名称:双缓冲的应用
文件大小:5KB
文件格式:TXT
更新时间:2015-06-12 15:25:39
双缓冲
双缓冲在VC的画图编程中很重要,可以克服闪烁等现象,同时编程更容易. 双缓冲的关键点在于创建一个兼容性的设备描述表(CompatibleDC)及一个相对应Compatible兼容性的的CBitmap,不同的CompatibleDC如果指向同一个Compatible兼容性的的CBitmap,则其中任何一个CompatibleDC的画布内容改变都会导至其它的CompatibleDC的画布内容改变. 运用双缓冲更以很容易实现画图的撤销动作,可以很容易实现橡皮功能,及橡皮擦的功能。 例如撤销动作,你需要记录每次的画的线的图像,当点击撤销时,你只要将前一幅图像显示出来,同时删除当前的图象即可。而擦除操作,要有二个DC,一个保存最初的图像,一个是你自定义的画布,在自定义的画布中你可以随便怎么画,当显示时,要将原始画布显示,同时加上你自画的画布,由于自画的画布有背景色,所以要求当两幅图画叠加时,要屏蔽掉自定义画布的背景色,此时要用到一个函数ransparentBlt,函数TransparentBlt在2008中是CDC的函数,而在6.0中并没有此函数,但有一个全局API函数,不能直接用,要在project-->setting-->link-->object/library中添加Msimg32.lib库函数,这样才能编辑得过。