我试图添加滚动工具到我的图表,但不能这样做。下面是代码
{
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
}
我希望这对你有帮助。谢谢,桑德拉。