搬家第42天-cicode2018过程分析控件使用-点击数据弹窗显示相应趋势

昨天在QQ群上,有人问起如何实现在公益画面上点击数据,弹窗显示这个数据的趋势,我觉得这个问题有点意思,试验了一下,还是比较简单的。
新建一个画面用作弹窗,放置过程分析控件,编号是AN4,控件里面增加板和趋势笔。
新建一个cicode过程
FUNCTION trendini()
//设置趋势控件(过程分析控件)
OBJECT objPA
OBJECT hPanes
OBJECT hPane
OBJECT hPens
OBJECT hPen
INT panescount,penscount
objPA=ObjectByName("AN4")
hPanes=_OBJECTGetproperty(objPA,"panes")//得到面板集
panescount=_OBJECTGetproperty(hPanes,"count")//得到板数量
penscount=_OBJECTGetproperty(hPens,"count")//得到板1下面趋势笔数量
IF panescount>1 THEN
//删除除1#之外其他面板
WHILE panescount>1 DO
hpane=_OBJECTCallMethod(hPanes,"get_item",2)//得到面板2
_ObjectCallMethod(hPane, "Delete")//删除2#面板
panescount=_OBJECTGetproperty(hPanes,"count")//得到板数量
END
END
hPane=_OBJECTCallMethod(hPanes,"get_item",1)//得到面板1
hPens=_OBJECTgetproperty(hPane,"pens")//得到面板1下面的所有趋势笔
penscount=_OBJECTGetproperty(hPens,"count")//得到板1下面趋势笔数量
//删除面板1下除趋势笔1之外所有趋势笔
IF penscount>1 THEN
WHILE penscount>1 DO
hPen=_OBJECTCallMethod(hPens,"get_item",2)//得到面板1下面的趋势笔1
_ObjectCallMethod(hPen, "Delete")//删除2#趋势笔
penscount=_OBJECTGetproperty(hPens,"count")//得到板1下面趋势笔数量
END
END
//給面板1下趋势笔1起一个名字
hPen=_OBJECTCallMethod(hPens,"get_item",1)
_ObjectSetProperty(hPen, "Name",TrendName)
//给面板1下面的趋势笔1重新定义纵坐标量程范围
_ObjectCallMethod(hPen, "PutVerticalAxisSpan", 0, 80)
//给面板1下面的趋势笔1重新定义横坐标范围
_ObjectCallMethod(hPen, "SetDefaultSpan", 0, 0, 0, 30, 0, 0)//设置面板1下面趋势笔1的缺省跨度为0周,0天,0小时,30分钟,0秒,0毫秒
_ObjectCallMethod(hPen, "ResetToDefaultSpan");//设置面板1下面趋势笔1为缺省跨度设置
//设置面板1下面趋势笔1为trdflow5
_ObjectSetProperty(hPen, "DataPoint", TrendName)
//显示数据点
_ObjectSetProperty(hPen, "PointsVisible", -1)
//时间跳转到当前
_ObjectCallMethod(hPen, "GoToNow")
//显示游标
OBJECT hCursors
OBJECT hCursor
hCursors = _ObjectGetProperty(objPA, "Cursors")
_ObjectCallMethod(hCursors,"Create","cursor1",500)
hCursor= _OBJECTCallMethod(hCursors,"get_item",1)
_ObjectSetProperty(hCursors, "Visible", -1)
END
在弹窗的页面打开事件中调用这个函数。弹窗保存为!Trend
在项目程序新建变量flow1,flow2……flow5,real类型,同时做其相应的趋势变量trdflow1,trdflow2……trdflow5.新建一个字符串变量trendName,用于存放需要显示趋势的控件的名字。按照前面练习的方法,模拟这些数据的变化。
画面上放置数字控件,用于显示flow1,控件的鼠标点击事件写脚本
TrendName="trdFlow1";
PagePopUp("!Trend");
 
保存,编译,运行,点击画面上的数字控件,就会弹窗显示相应的趋势了。
posted @ 2021-03-11 10:38  来自金沙江的小鱼  阅读(263)  评论(0编辑  收藏  举报