我把m_chart.Series(0).add(900,"lable",1);改成下面这样就OK了:
CSeries chartseries=(CSeries)m_chart.Series(0);
chartseries.Add(i,_T("lable"),1);但是现在又来了一个:
m_chart.GetAxis().GetBottom().Scroll(1.0,TRUE);
编译又不行了,我想继续用上面的方法改成
CAxis chartaxis=(CAxis)m_chart.get_Axis();
charaxis.GetBottom().Scroll(1.0,TRUE);
结果还是不行
当我仅仅写
chartaxis.get_Bottom();
的时候也不行,提示没有成员“get_Bottom()”
我直接无奈了
请大神多多帮忙啊
希望把问题解决了,同时也弄明白为什么在VC6.O中可以的这些句子,在VS2010中就不行呢
多谢了!!!

解决方案 »

  1.   

    应该是这样:
    包含下列文件:
    #include "CSeries.h"
    #include "CAxis.h"
    #include "CAxes.h"CSeries Chart0 = (CSeries)m_chart.Series(0);
    CAxes chartaxis=(CAxis)Chart0 .get_Axis();
    CAxis chartBottomAxis = (CAxis)chartaxis..get_Bottom();
    ......
    顺序是-先获得线 - 获得坐标系列 - 获得具体坐标
      

  2.   

    vs2010和vc6不同的是,你不能像vc6那样.啊.啊点的就点过去了,vs2010更加严谨,所以要明确的转换
      

  3.   

    再次表示深切感谢!
    不过我用您的方法,编译还是不行
    CAxes chartaxis=(CAxis)Chart0 .get_Axis();
    这一句提示:Erro:class "CSeries" 没有成员 "get_Axis"
    我按照您给的方法改成下面这样
    CAxes chartaxis=(CAxis)m_chart.get_Axis();
    CAxis chartaxisbottom=(CAxis)chartaxis.get_Bottom();
    chartaxisbottom.Scroll(1.0,TRUE);
    虽然编译通过了,但是当我运行调试的时候新的问题又出现了:
    made.exe 中的 0x7572d36f (KernelBase.dll) 处最可能的异常: 0x000006BA: RPC 服务器不可用。
    made.exe 中的 0x061cd604 处最可能的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
    made.exe 中的 0x061cd604 处有未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
    程序“[3296] made.exe: 本机”已退出,返回值为 -1073741819 (0xc0000005)。
    还得麻烦您给解答一下呀,不胜感激!!!
      

  4.   


    再次表示深切感谢!
    不过我用您的方法,编译还是不行
    CAxes chartaxis=(CAxis)Chart0 .get_Axis();
    这一句提示:Erro:class "CSeries" 没有成员 "get_Axis"
    我按照您给的方法改成下面这样
    CAxes chartaxis=(CAxis)m_chart.get_Axis();
    CAxis chartaxisbottom=(CAxis)chartaxis.get_Bottom();
    chartaxisbottom.Scroll(1.0,TRUE);
    虽然编译通过了,但是当我运行调试的时候新的问题又出现了:
    made.exe 中的 0x7572d36f (KernelBase.dll) 处最可能的异常: 0x000006BA: RPC 服务器不可用。
    made.exe 中的 0x061cd604 处最可能的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
    made.exe 中的 0x061cd604 处有未经处理的异常: 0xC0000005: 读取位置 0x00000000 时发生访问冲突
    程序“[3296] made.exe: 本机”已退出,返回值为 -1073741819 (0xc0000005)。
    还得麻烦您给解答一下呀,不胜感激!!!
      

  5.   

    我今天终于发现问题了,按下面这样写就OK了:
    CAxes chartaxis=(CAxes)m_chart.get_Axis();
    CAxis chartaxisbottom=(CAxis)chartaxis.get_Bottom();
    chartaxisbottom.Scroll(1.0,TRUE);
    即把CAxes chartaxis=(CAxis)m_chart.get_Axis();
    改成CAxes chartaxis=(CAxes)m_chart.get_Axis();
    编译就好了
    第一次运行确定或取消的时候可能会提示一次错误,询问是否进行标准化,点击“确定”之后,以后再运行就不会有问题了
    希望能帮到出现同样问题的朋友,同时再次感谢czyt1988(czyt1988)的大力帮忙,呵呵
      

  6.   

    我也是遇到同样的问题,感谢楼主解决了我心中的疑惑,还有一点不明白的是Axis与Axes所要包含的头文件是不是跟VC6不一样啊,好像是CAxes.h吧
      

  7.   

    楼主我还有个问题,我用的是teeChart5,在一个页里面添加了y轴分段,就是有两个y轴,怎么把两条Series分别对应到两y轴,现在是两个在一个y轴里面!还有像你上面的这种方法,有没有设置x轴数据的办法?期望恢复中
      

  8.   

    CAxes chartaxis=(CAxes)m_chart.get_Axis();
    提示:Erro:class "CSeries" 没有成员 "get_Axis"啊