摘要: 这个一个比较神奇的问题,起因是有一次程序需要,需要将显示图像的区域变成有滚动条形式,这就不得不考虑用scrollview类来实现。看网上的一些方法,主要有两种实现形式:一种是直接在对话框中创建视图。还有一种是用子类化。先谈第一种:先在对话框中定义自己的视图对象MyView *m_pView;在对话框的CPP中1CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD)//构造函数[代码]第二重方法是子类化:在对话框上放一个简单空间比如RECTANGLE,然后在对话框重定义视图的对象MyView *m_pView;在对话框的CPP中1CAboutDlg::C 阅读全文
posted @ 2010-12-09 22:41 Vincent_Xue 阅读(2456) 评论(2) 推荐(2)
摘要: 最近在写一个图像编辑软件,环境是MFC,但是MFC的视图刷新机制使得图像闪烁得非常厉害(图像缩放时尤其明显),在网上查了一些资料,最好的方法是用双缓冲的方式显示,这里总结一下。  双缓冲的原理可以这样形象的理解:把电脑屏幕看作一块黑板。首先我们在内存环境中建立一个“虚拟“的黑板,然后在这块黑板上绘制复杂的图形,等图形全部绘制完毕的时候,再一次性的把内存中绘制好的图形“拷贝”到另一块黑板(屏幕)上。采取这种方法可以提高绘图速度,极大的改善绘图效果。主要实现代码如下:[代码]  主要思路就是先创建一个虚拟dc和一张虚拟位图,用于将图像输出到虚拟设备上,内容在虚拟设备挥好后再输出到真实dc上显示出来 阅读全文
posted @ 2010-12-09 22:31 Vincent_Xue 阅读(898) 评论(0) 推荐(1)