新浪博客

使用Ifix的图表组(原创)

2017-04-17 19:58阅读:
目的:使用ifix的图表组功能,在窗口打开时自动加载某一指定的图表组,在窗口关闭时,自动保存设定。实现方法:
一、窗口加载时自动加载图表组文件
在CFixPicture_Initialize()里加入代码
CGW_ApplyFileToChart 'ChartGroup1.csv', 'Chart1'
二、窗口关闭时,自动保存设定
由于ifix的图表组功能比较复杂,内部关联较多,使用内置的保存函数使问题变得复杂了。本例通过直接写图表组定义文件达到保存目的,代码如下:
在CFixPicture_Close()调用过程saveChartGroup
Sub saveChartGroup()
Dim strFileToSave As String, objStrMgr as Object
Set objStrMgr = CreateObject('iFix_CGW.ResMgr')
strFileToSave =System.FixPath(Htc_Path) & '\ChartGroup1.csv'
Dim intFileHandle As Long
intFileHandle = FreeFile
If strFileToSave = '' Then Exit Sub
Open strFileToSave For Output As #intFileHandle

Write #intFileHandle, objStrMgr.GetNLSStr(CLng(NLS_EXC)), objStrMgr.GetNLSStr(CLng(NLS_APPLYALL)
), objStrMgr.GetNLSStr(CLng(NLS_DAYSBEFORENOW)), objStrMgr.GetNLSStr(CLng(NLS_DURATION)), objStrMgr.GetNLSStr(CLng(NLS_FETCHPENLIMITS)), objStrMgr.GetNLSStr(CLng(NLS_FIXEDDATE)), objStrMgr.GetNLSStr(CLng(NLS_FIXEDTIME)), objStrMgr.GetNLSStr(CLng(NLS_HILIMIT)), objStrMgr.GetNLSStr(CLng(NLS_HISTORICALSAMPLETYPE)), objStrMgr.GetNLSStr(CLng(NLS_LOLIMIT)), objStrMgr.GetNLSStr(CLng(NLS_MARKERCHAR)), objStrMgr.GetNLSStr(CLng(NLS_MARKERSTYLE)), objStrMgr.GetNLSStr(CLng(NLS_PENLINECOLOR)), objStrMgr.GetNLSStr(CLng(NLS_PENLINESTYLE)), objStrMgr.GetNLSStr(CLng(NLS_PENLINEWIDTH)), objStrMgr.GetNLSStr(CLng(NLS_SOURCE)), objStrMgr.GetNLSStr(CLng(NLS_STARTDATETYPE)), objStrMgr.GetNLSStr(CLng(NLS_STARTTIMETYPE)), objStrMgr.GetNLSStr(CLng(NLS_TIMEBEFORENOW)),
objStrMgr.GetNLSStr(CLng(NLS_INTERVAL)), objStrMgr.GetNLSStr(CLng(NLS_DISPLAYMS)), objStrMgr.GetNLSStr(CLng(NLS_DST_HEAD)), objStrMgr.GetNLSStr(CLng(NLS_TIMEZONE_HEAD))
Dim objPen As Object
For Each objPen In Chart1.pens
Write #intFileHandle, '&&', True, objPen.DaysBeforeNow, objPen.duration, objPen.FetchPenLimits, CDate(Format(objPen.FixedDate, 'Short Date')), Format(objPen.FixedTime, 'Short Time'), objPen.hilimit, objPen.HistoricalSampleType, objPen.lolimit, '', objPen.MarkerStyle, objPen.penlinecolor, objPen.PenLineStyle, objPen.PenLineWidth, objPen.Source, objPen.StartDateType, objPen.StartTimeType, objPen.TimeBeforeNow, _
objPen.interval / 1000, False, True, 0
Next
Close #intFileHandle
End Sub
PS:使用CGW_ApplyFileToChart加载图表组,速度比较快

我的更多文章

下载客户端阅读体验更佳

APP专享