本文所用版本为TeeChart8,编程环境为VC++ 6.0。
1、新建基于对话框的工程(注意先编译运行一下),在对话框上插入TChart控件(ActiveX Control),选择TeeChart Pro Active control v8,如下图所示:
图1
2、右键单击TeeChart控件,依次选择【TeeChart Pro Active control v8 Object】、【Edit...】,向TeeChart中添加3个Bar(图2),结果如图3所示:
图2
图3
3、通过类向导为TeeChart控件添加关联变量:
图4
添加关联变量的时候,会提示添加TeeChart的头文件进入工程,这会添加很多.h和.cpp文件,需要耐心等待。
4、添加初始化TeeChart的函数InitTChart():
void CBCGDemoDlg::InitTChart() { //设置标题 m_chart1.GetHeader().SetCaption("Production results"); //设置Series标题 CString title[] = {"Product10", "Product12", "Product14"}; for (int i=0; i<3; i++) { m_chart1.Series(i).SetTitle( title[i] ); m_chart1.Series(i).GetMarks().SetVisible(TRUE); } //添加数据 COLORREF color[] = {RGB(255,0,0), RGB(0,255,0), RGB(255,255,0)}; CString xAxisLabels[] = {"Jan", "Feb", "Mar"}; int valuesProduct10[] = {300, 325, 287}; int valuesProduct12[] = {175, 223, 241}; int valuesProduct14[] = {461, 470, 455}; int xAxisValues[] = {10, 12, 14}; for (i=0; i<3; i++) { m_chart1.Series(0).AddXY(10+i*2, valuesProduct10[i], xAxisLabels[i], color[0]); m_chart1.Series(1).AddXY(10+i*2, valuesProduct12[i], xAxisLabels[i], color[1]); m_chart1.Series(2).AddXY(10+i*2, valuesProduct14[i], xAxisLabels[i], color[2]); } }
这里建立的工程是基于BCG Dialog的,直接建立MFC的一般Dialog工程是一样的。
5、在OnInitDialog()函数中添加上面的初始化TeeChart的函数。
6、OK,完成。编译、链接、运行,效果如图5:
图5
注意:默认情况下,Series的Marks显示的是Label,即AddXY函数中的文本,这时候可以选择Marks的Style为Value(AddXY函数中的Y轴的值),就可以达到上面图5的效果。