Teechart显示:按照时间轴自右向左推移(VC6.0实现)

0 篇文章 0 订阅

源代码(采用A1.b,A2.b方法实现):

http://download.csdn.net/detail/zj060607/6737403


解决两个问题:

1.      时间轴如何实现

2.      横轴如何自右向左移动

 

A1:时间轴

方法a. 在label字符串显示

  CTime t = CTime::GetCurrentTime();
      m_chartTime.Series(0).AddXY(fTime,flY,t.Format("%H:%M:%S"),0);

  缺点:MasksTip默认显示X轴(fTime)数据,而不是时间,需要做如下设置。

   

 //MasksTip     
       m_chartTime.GetTools().Add(8);   //ToolList添加 tcMarksTip = 8
       m_chartTime.GetTools().GetItems(0).GetAsMarksTip().SetMouseAction(mtmMove);
       m_chartTime.GetTools().GetItems(0).GetAsMarksTip().SetDelay(250);
       m_chartTime.GetTools().GetItems(0).GetAsMarksTip().SetStyle(smsLabelValue);//默认是smsXY


  方法b:设定x轴为时间类型,主要分为两步。参见[1]P187

1.      设定DateTime属性为True,并设定时间格式:

m_chartTime.Series(0).GetXValues().SetDateTime(TRUE);
m_chartTime.GetAxis().GetBottom().GetLabels().SetDateTimeFormat("hh:mm:ss");

2.      使用序列的AddXY增加一个点的值

m_chartTime.Series(0).AddXY(dblX,dblY,"",0);

      

A2:横轴自右向左移动

  方法a..滚动函数

       m_chartTime.GetAxis().GetBottom().Scroll(1.0,TRUE);

步骤:

1.初始化:

m_chartTime.GetAxis().GetBottom().SetAutomatic(TRUE);
m_chartTime.GetAxis().GetBottom().SetMinMax(0,10);

       2.onTimer隔一段时间改一下横轴

       staticdouble s_dbX=10.0;
       s_dbX=s_dbX+1;
       dblX= s_dbX;
       m_chartTime.Series(0).AddXY(dblX,dblY,curTime.Format("%M:%S"),0);
       m_chartTime.GetAxis().GetBottom().Scroll(1.0,TRUE);

 

方法b.设置最大值,最小值

       m_chartTime.GetAxis().GetBottom().SetMinMax(dblX-50/84600.,dblX);

步骤:

1.初始化:

       COleDateTimeCurTime=COleDateTime::GetCurrentTime();
      //最小值(dTime-50s),最大值dTimes
      m_chartTime.GetAxis().GetBottom().SetMinMax(CurTime.m_dt-50/84600.,CurTime.m_dt); 

2.onTimer隔一段时间改一下横轴

       double dblX;
       COleDateTimecurTime = COleDateTime::GetCurrentTime();
       dblX= curTime.m_dt;
       srand((unsignedlong)time(0));
       doubledblY = rand()%20;
       m_chartTime.Series(0).AddXY(dblX,dblY,curTime.Format("%M:%S"),0);
       m_chartTime.GetAxis().GetBottom().SetMinMax(dblX-50/84600.,dblX);

reference:

[1].Teechart应用技术详解

PS:下面的内容如何去掉呢?











  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值