曲线显示控件
曲线显示控件
作者:北海银河南京分公司 朱刚
不少应用程序都需要将一些数据曲线化显示,以观察数据的变化趋势,我们常用的曲线控件有不少,比如mschart,最近公司也需要一个曲线显示的东东,但是不能使用mschart,怎么办?自己做嘛,工具当然是Visual C++,语言MFC。
首先我研究了一下mschart和一些网站的资料,经过3天的努力,终于完成,想把这个控件也提供给大家,大家先来看看效果吧:
(图一)
显示了所有的电流曲线(A相、B相、C相)
这是默认情况

代码为:
//添加曲线
COLORREF l_cr1 = 0x80dd00;
COLORREF l_cr2 = 0x0080ff;
COLORREF l_cr3 = 0xff8000;
m_wndZgChart.AddChartCutline("A相电流(A)", l_cr1, 1, TRUE);
m_wndZgChart.AddChartCutline("B相电流(A)", l_cr2, 1);
m_wndZgChart.AddChartCutline("C相电流(A)", l_cr3, 1);
(图二)
显示了部分的电流曲线(B相)通过左键点击对应的图例显示和隐藏

(图三)
修改曲线的参数:线宽,颜色
通过右键点击对应的图例来设置

(图四)
修改B相电流线宽为4

(图五)
曲线保存到问题文件

(图六)
曲线打印

一些说明:
1、该控件提供了一个强制隐藏数据提示窗体的接口HideTips(),提供外部调用,当用户使用Alt+Tab切换程序的时候需要自己手动隐藏窗口,详细代码请参看ZgSkinDemo工程
2、曲线窗体会因为本身曲线要求而自动发生大小变化
3、由于是公司产品不能广泛传播C++源代码,只能做成LIB给大家使用,见谅
4、如果发现BUG,请与我联系 sonystone@163.com,sonystone@tom.com,zg@www.yh-pol.com
5、相关文件
6、本人写作不多,主要都是不想写,在我写这些代码的时候发现网上的资料太少了,所以坚持写写,让大家都能参考和使用。
7、平时本人对界面设计也少许了解,研究了一套界面换皮肤程序,也将完成了,先给大家看看效果
(对话框)

(MDI)

(SDI)

由于精力和时间原因,对于这个版本的代码没有涉及到常用的控件,完成后我会将源代码全部奉献(这是本人作品,可以给大家看的!)
另外本人还有一个以前设计的版本,效果如下:

有需要源代码的可以和我联系。