如题,好像只能在设计时通过"edit chart"面板来设置,哪位大侠知道如何能在程序运行期动态修改series的border颜色?不胜感激.

解决方案 »

  1.   

    我自己试着调试了一下代码,如果用Series.Pen.Color:=clred;这句语句,可以实现改变border颜色的目的,不过这样写的话,所有的series的border颜色都被统一了.假如我有这些数据:10,20,30,40,50,60,现在要求把大于等于50的数据全部用红色柱状图表示出来,包括实体和border(边框)颜色,都是红色,其他数据用绿色柱状图表示,请教一下,该如果编写?Series.Pen.Color只是对所有数据做统一的颜色处理,不知道怎么处理某一条数据的颜色?
      

  2.   

    每个Series可以单独改变border颜色我不知道你有没有看Delphi自带的Demo?
      

  3.   

    回楼上的朋友,我查过很多资料了,自带的DEMO也看过,不过没看到有合适的例子.可否明示一下是用哪个函数或者属性值?谢谢
      

  4.   

    算了,其实都差不多。给你的方法把,通过edit chart面板设置好属性,然后把你的设计的Form用View As Text找到对应Series的定义部分,查看一下。比如PieSeries就是PiePen.color
      

  5.   

    teechart6里的dbchart,用来显示数据库里的一部分数据
      

  6.   

    用的是candle型的,后面还要用bar型的
      

  7.   

    谢谢"火星菠菜"的指点,已经找到Pen.color属性了,我先试一下在程序中能不能动态改变颜色
      

  8.   

    对的,VC中可如下设置:
    m_Chart1.AddSeries(4);// 生成点series
    m_Chart1.Series(0).Clear();
    m_Chart1.Series(0).GetAsPoint().GetPointer().SetStyle(0);// 设置点型
    m_Chart1.Series(0).GetAsPoint().GetPointer().SetHorizontalSize(10);//设置宽度
    m_Chart1.Series(0).GetAsPoint().GetPointer().SetVerticalSize(10);  // 设置点的高度
    m_Chart1.Series(0).GetAsPoint().GetPointer().GetPen().SetColor(RGB(0,0,255));;//设置点的border颜色。
      

  9.   

    若想点的border不可见,可如下设置:
    m_Chart1.Series(0).GetAsPoint().GetPointer().GetPen().SetVisible(0);谢谢新新手!