首页   |   下载   |  

一:什么是ST_Curve?

       ST_Curve是一个专业的曲线绘制控件,只要是xy坐标系的曲线,都可绘制,纵坐标只能显示为值,横坐标可以显示为值或者时间(如果你愿意为控件提供插件,则坐标可显示任意字符)。

Top

二:ST_Curve面向对象?

       二次开发者,即你必须要对ST_Curve进行开发,它才能使用,就像现在流行的诸多界面库一样。

Top

三:ST_Curve有什么使用与分发限制?

       使用无任何限制,分发时,必须保证控件的完整性,包括但不限于主控件、开发文档等。

Top

四:ST_Curve的特点与优势(对操作者)

       鼠标任意拖动曲线,任意缩放曲线,定点(鼠标取点或者二次开发者传入点)缩放曲线,支持类似K线图的缩放方式,数字键快速找到曲线,F5键居中曲线,F4键显示隐藏帮助(帮助显示于背景图之上,帮助上会有更多的快捷键,这里不一一列出了),支持方向键,翻页键等,可显示三维效果,可显示全局位置预览窗口并通过它快速移动曲线。

Top

五:ST_Curve的特点与优势(对开发者,只说说几个重点,其它的请看开发文档)

       自定义各种颜色,字体,背景,画笔,填充模式等,可切换坐标原点到窗口四个角的任意一个,可导出图片(bmp、png、jpg、gif),可批量导出图片,以及定时导出图片,可导入图片作为背景或者用于填充曲线,可导出曲线到文件(支持二进制文件,它速度最快,还支持文本文件,它的好处是可以手动编辑,支持的文本格式包括:ansi、unicode、unicode big endian、utf8,这些文本格式都被windows支持),可绘制实时曲线(曲线自动滚动),支持在各个方向上对曲线进行填充,支持打印,打印或者导出图片时,可指定只对某一条曲线,或某一段数据;支持注解显示;支持数据持久化;支持批量添加数据。

Top

六:ST_Curve的开发环境与运行平台

       控件的开发环境为vc2010,unicode(所以控件无法加载时最可能的原因就是缺少mfc100u.dll),二次开发环境则是所有可以使用控件的地方,运行平台为win2000及其以上的操作系统,如果需要在win98下面使用,请向我索取多字节版本控件,如果要在纯英文操作系统下使用,请向我索取英文版本控件,都不需要付费,但只提供release版本。

Top

七:应用举例(演示的都是一些较为高级的应用,最普通的绘制普通折线图并没有演示)


       上图演示了曲线的断点,以及hatch和Solid填充模式,绿色的曲线还演示了按方波的显示效果。

       上图演示了高级应用,绘制较为专业的柱状图,还演示了Pattern填充模式。

       上图演示了向各个方向填充。

       上图演示了不太常用的功能。

       上图演示三维显示效果。

Top

八:补充说明

       我本人只是一个VC开发者,并不懂得如何做一个漂亮的网页(幸好北京的白大庆朋友帮我做了这个网页),同样, 开发文档的组织可能也不好(注意我只说的是组织得不好,至于函数功能性的描述方面,我相信说得还是很清楚的),比如说文档没有导航栏,没有超链接等。但有一个事实,就是你不用付费就可以使用,我相信,只要你能耐心的把开发文档看完,你一定会留下这个控件的,不管你当前是否用得上。

Top

九:鸣谢(排名不分先后)

       感谢北京的Ordie大哥,不管是在控件的编制过程中还是在我平常的工作中,都给予我很大的帮助,在此表示感谢;
       感谢屋只同学帮我发现一些BUG,并向自己的同学推荐本控件;
       感谢友情水帮我发现一些BUG,并提出一些宝贵意见,比如将曲线数据保存到图元文件就是他的主意;
       感谢海之子提出一些意见;
       感谢北京的白大庆帮我做了这个网页;
       感谢北京的程威帮我发现一些打印过程中的BUG,也提出一些意见;
       感谢天空华军中关村硅谷动力霏凡下载站为大家提供免费的软件发布空间;
       感谢北京的WeiLiang朋友对开发文档做了重新排版;
       感谢所有正在使用或者即将要使用本控件的人。

Top

十:下载页面说明

       注意:下载的时候,直接用下载工具下载,或者直接点击连接下载, 不要在连接上右键选择“另存为”来下载,这样网站的防盗链功能将生效,下载下来的结果是一个gif图片,这个问题我也觉得很烦,但我的空间供应商就是这样 做的,我也没有办法!
       在vb和.net等非常高级的语言的开发环境下,横坐标类型将会被 映射为时间对象(比如DateTime),时间对象有一个致命弱点就是范围很小,当横坐标按值显示的时候,二次开发者可能需要突破时间对象的范围限制,此时请 向我索取double版本控件,我将修改控件的idl,以便在二次开发的时候,横坐标类型被映射为double,这个范围就足够大了;至于为什么要用double而不用float, 则是为了编程的方便,因为在vc中,时间就是一个double,这样我的代码就完全一样,只是修改一下idl即可。double版本下同样支持时间对象,调用DateTime 的ToAODate()方法就得到对应的double数据了(由此可见,在这些高级语言中,时间对象可能也是一个double,只是包装了一下,不像vc那么直接); vc二次开发就没有上面的烦恼,在vc中,横坐标类型将被映射为DATE,而DATE就是double(typedef double DATE;)。

初学者请关注这一栏

       考虑到初学者可能会缺少一些运行库,或者无法编译demo源代码,我特意做了一个安装包,大家下载下来后解压即得到,双击安装即可,完了后会在开始菜单里创建一个指向开发文档和demo工程文件的快捷方式。在卸载的时候,可以卸载完全的,包括注册表里面的注册项,不用担心留下垃圾。

ST_Curve(普通版本,vc2010编译,只能运行于win xp sp2及其以上系统)

ST_Curve_EN(普通英文版本,vc2010编译,只能运行于win xp sp2及其以上系统)

ST_Curve_VC7(兼容版本,vc2003编译,可运行于win2000及其以上系统,推荐在普通版本无法使用时才使用)

由于不常使用,以上版本均不包括:所有文档的所有格式包depends工具及gdi+组件,有需要者请下载


有经验者请关注这一栏

       如果不想安装,请下载开发包,它是一个rar压缩包,使用者需要对控件主程序ST_Curve.ocx注册。

ST_Curve(普通版本,vc2010编译,只能运行于win xp sp2及其以上系统)

ST_Curve_EN(普通英文版本,vc2010编译,只能运行于win xp sp2及其以上系统)

ST_Curve_VC7(兼容版本,vc2003编译,可运行于win2000及其以上系统,推荐在普通版本无法使用时才使用)

以上版本均不包括:MFC71组件包MFC100组件包


更多下载地址(只列了几个大的网站,其它的下载地址请自行搜索,都是vc2010中文版压缩包):

华军:www.onlinedown.net/soft/70445.htm
天空:www.skycn.com/soft/47270.html
霏凡软件站:www.crsky.com/soft/14069.html
硅谷动力:download.enet.com.cn/html/040332008081701.html
太平洋电脑网下载中心:dl.pconline.com.cn/download/52966.html

更新事宜及开发举例:

       请大家定时调用控件的接口CheckUpdate来确定当前是否有最新的控件,如果有,强烈建议下载并覆盖现有的控件,也建议大家重新将控件添加到工程,因为有可能接口会改变,大家多注意一下开发文档后面的修改日志,接口修改肯定会有说明的。
       下面我简单讲一下控件的开发流程,以帮助大家迅速的看到效果,更详细的开发需要你仔细的阅读开发文档。 首先是调用AddLegendHelper函数添加图例,然后调用AddMainData函数添加曲线点(这两步的先后关系无所谓),比如:
[c/c++ code]
m_ST_Curve.AddLegendHelper(11, _T("第一条曲线"), (unsigned long) RGB(255, 255, 0), PS_SOLID, 1, FALSE);
COleDateTime Time = COleDateTime::GetCurrentTime();
for (int i = 0; i < 5; i++)
{
       m_ST_Curve.AddMainData2(11, Time, 90 + .6f * i, 0, 0, TRUE);
       Time += 1.0 / 24 / 2;
}
[c/c++ code]
至此,如果你可以看到曲线,那么ST_Curve控件就是我写的,如果看不到,我也不知道是谁写的!

       考虑到初学者老是问如何用COleDateTime和COleDateTimeSpan表达浮点数,我这里给一个统一的解释:
COleDateTimeSpan代表一个时间间隔,它是用浮点数来表达的,所以他们可以隐式转换(COleDateTimeSpan重载了operator double),表达的方式是1.0代表一天,其它时间间隔以此类推,比如:
1小时 = 1.0 / 24
1分钟 = 1.0 / 24 / 60
1秒钟 = 1.0 / 24 / 60 / 60
0.5秒钟 = 1秒钟的二分之一
……
COleDateTime代表一个日期,从1899.12.30开始,即1899.12.30等于0,如果是1899.12.31呢,当然就加一天,而一天刚才说过了,等于1.0,所以1899.12.31就是1.0。
可以直接将double数据赋给COleDateTimeSpan或者COleDateTime,可隐式转换。

Top
最新更新  
  最新版本:2.2.0.0
发布时间:2012-3-1
立即下载最新发布的ST_Curve 2.2.0.0!
       增加了控件中第一个图元对象——无限曲线,具体请参看开发文档;
       为限制一页增加了另外一种模式——只在出了画布时执行,这个功能描述简单,但非常有用,经常使用实时曲线的开发者,一定要好好看看本接口说明,据我所知很多人都需要该功能, demo里面实时曲线也有演示(可能被注释掉了)。
网站地图  
作者近照及联系方式  
Email:web@st-curve.cn
               mail2tao@163.com
     QQ:676218192
   邮编:610000
支持定制服务
支持捐赠(参看开发文档)
  15520720170
给我留言
友情连接