下面这篇文章很好的回答了我这几天在mfc下绘图的苦闷,我是一名菜鸟,如果自己实现C++绘制曲线,扩展很是个问题,代码的bug让我应接不暇,毕竟能力,时间也有限。尝试mschart,icomp(iplotx),要不是效果不理想或者收费,一周后,发现speed chart control 这是个不错的绘图类控件,欣喜,尝试中。。。
为了在MFC下显示图表,决定自己写一个图表控件,可是发现工作量太大,于是搜索了一下现成的。
1. MSChart
网上都说MSChart功能强大,可以显示饼图、柱状图以及线图等等。但是它主要是给.Net用的,在C++下用起来很不方便。可以从网上下载一个MSCHRT20.ocx控件,然后regsvr32注册。但是只有一个ocx是不够的,如何生成相应的头文件就让我大费周折。我用的是VS2008,有三种方式可以生成头文件,一是将控件拖到界面编辑器中,然后右键添加变量。二是添加Typelib, from registry。三是添加Typelib, from file。这三种方式生成的文件内容和数量都不一样,真不知道MS是不是要故意折腾我们程序员。最后我还是用http://www.vckbase.com/document/viewdoc/?id=959的文件,它是在VC6下生成的。
好了,现在有了头文件了,可以用了吧。但问题远没那么简单。首先,没有文档!。其实MSChart是有官方文档的,但不是针对C++的。而且网上的示例也主要是针对ASP、C#等的,MFC下的很少。其次,MSChart主要是为数据库准备的,数据绑定比较麻烦。最后,MSChart的质量也有待提高,比如闪烁、速度慢、EditCopy的bug</