这几天在利用mfc画topo结构图,主要采用双缓冲和裁剪区进行画图。总结如下:
1、重写父类OnPain()方法。
2、添加WM_VSCROLL和WM_HSCROLL事件,获取滚动条滚动的坐标。
3、添加WM_ERASEBKGND事件,禁止背景重画,避免闪烁现象出现。
由于计算机画图比显示图片更有效率,为提高图片显示效率,每次只刷新裁剪区(需要刷新的区域)图像。利用GetClipBox函数可以得到裁剪区。同时为提高画图效率,判断即将绘画的图片是否在裁剪区,在就画,不在就不进行绘画。
基本的实现方法如下: