图图+ activeX +垂直滚动



我试图添加滚动工具到我的图表,但不能这样做。下面是代码

{
m_chart1.ClearChart();
m_chart1.GetPage().SetMaxPointsPerPage(5);  
wchar_t tmp[30]={0};
wchar_t t[10] = L"T%d";
int i = 0;
m_chart1.AddSeries(1);
wsprintf(tmp,t,i);
m_chart1.Series(i).SetColor(RGB(rand(),rand(),rand()));
m_chart1.Series(i).SetLegendTitle(tmp);  
m_chart1.Series(i).FillSampleValues(100);
m_chart1.Series(i).GetMarks().SetVisible(false);
m_chartNavigation.SetChartLink(m_chart1.GetChartLink());
m_chart1.GetAspect().SetView3D(false);
m_chart1.GetTools().Add(22);
_variant_t vardata;
VariantInit (&vardata);
vardata.vt = VT_BYREF;
vardata.byref = &m_chart1.GetAxis().GetBottom();
m_chart1.GetTools().GetItems(0).GetAsAxisScroll().SetAxis(vardata);
m_chart1.GetTools().GetItems(0).SetActive(true);
}

代码可以正常编译,但是在轴上没有显示箭头。谢谢阿卡什

代码可以正常编译,但是箭头没有显示在轴上

我不确定你代码中的m_chartNavigation是什么。是ChartPageNavigator吗?注意,这个组件添加了一个独立于图表的导航栏。

如果您想要显示一些箭头来滚动图表,您应该使用AxisArrow工具,而不是AxisScroll工具,这是2,而不是22。

m_chart1.GetTools().Add(2);
m_chart1.GetTools().GetItems(0).GetAsAxisArrow().SetAxis(vardata);

我已经修改了代码,因此AxisArrow工具能够以正确的方式工作,并允许您按照需要滚动轴。因此,请参阅下一个代码并考虑指示,因为您可以毫无问题地使用代码。

注意事项:

1。-检查文件夹中是否有所有类,因为你有你的项目。如果你没有所有的类,你必须从文件夹utilities New VC classes中复制这些,在你安装TeeChartActivex的文件夹中。该文件夹类似于next C:......TeeChart Pro v2012 ActiveX ControlUtilitiesNew VC Classes

2。-在你的代码中使用next include:

#include "stdafx.h"
#include "XXXXX.h"
#include "XXXXX.h"
#include "series.h"
#include "axes.h"
#include "axis.h"
#include "TeeChartDefines.h"
#include "aspect.h"
#include "zoom.h"
#include "scroll.h"
#include "environment.h"
#include "marks.h"
#include "page.h"
#include "lineseries.h"
#include "axisarrowtool.h"
#include "toollist.h"
#include "tools.h"
#include "comutil.h"
#include "afxdisp.h"

3。-代码已经在项目的OnInitDialog()上完成。

代码:

你能告诉我们你的下一个代码是否有效吗?

{
.
.
.
// TODO: Add extra initialization here
    m_tChart1.ClearChart();
    long index = m_tChart1.AddSeries(scLine);
    m_tChart1.GetAspect().SetView3D(false);
    m_tChart1.GetPage().SetMaxPointsPerPage(5);
    m_tChart1.Series(index).SetColor(RGB(rand(),rand(),rand()));
    m_tChart1.Series(index).SetLegendTitle("Hello");  
    m_tChart1.Series(index).FillSampleValues(100);
    m_tChart1.Series(index).GetMarks().SetVisible(false);
    long index1 = m_tChart1.GetTools().Add(tcAxisArrow); 
    //SetAxisArrow Tool to do scroll.
    m_tChart1.GetTools().GetItems(index1).GetAsAxisArrow().SetAxis(COleVariant(short(atBottom))); 
 // TODO: Add extra initialization here
    return TRUE;  // return TRUE  unless you set the focus to a control
}
我希望这对你有帮助。

谢谢,桑德拉。

相关内容

  • 没有找到相关文章

最新更新