至今为止,笨笨都是用老古董VC6给同学们介绍CChart的功能的。虽然笨笨已经说过,CChart在高版本VC下完全可以使用,但无图无真相,很黄很暴力,很多同学还是持怀疑态度。

这一课笨笨用白富美VS2010给大家演示一下CChart的编程。

有两种使用高版本VC的方法。

一种是用高版本VC打开已有的VC6工程,VC自动把VC6工程升级成高版本VC的解决方案,然后再用高版本VC编译。这一招笨笨用得最多,但估计不适合大多数同学,因为这些同学连VC6见都没见过,怎么能建立VC6工程呢。因此,这里就不介绍这种方法了。

第二种当然是直接使用高版本VC了,下面就开始演示这种方法。

第一步,打开VS2010。

SouthEast

第二步,选择File-->New-->Project,建立一个名为Lesson19的MFCApplication。

SouthEast

向导中选择MFCStandard,然后直接Finish。

SouthEast

第三步,拷贝5CChart库文件到Lesson19文件夹中。

第四步,在Lesson19View.h中,添加Chart库的头文件和库文件引用。

#include "Chart.h"
#ifdef _DEBUG
#pragma comment(lib, "PlotDll_d.lib")
#else
#pragma comment(lib, "PlotDll.lib")
#endif
 
第五步,在CLesson19View类中添加一个CChartWnd成员变量。
CChartWnd m_ChartWnd;
第六步,利用ClassWizard给CLesson19View类添加WM_CREATE和WM_DESTROY的处理函数。

SouthEast

第七步,修改OnCreate和OnDestroy函数如下。

int CLesson19View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;

	// TODO:  Add your specialized creation code here
	m_ChartWnd.Attach(m_hWnd, kTypePie);
	m_ChartWnd.GetChart()->AddPie(40);
	m_ChartWnd.GetChart()->AddPie(30);
	m_ChartWnd.GetChart()->AddPie(30);

	m_ChartWnd.GetChart()->SetPieTitle(_T("白富美"), 0);
	m_ChartWnd.GetChart()->SetPieTitle(_T("大舅子"), 1);
	m_ChartWnd.GetChart()->SetPieTitle(_T("二舅子"), 2);

	m_ChartWnd.GetChart()->SetTitle(_T("百亿富翁家产继承权"));

	return 0;
}


void CLesson19View::OnDestroy()
{
	CView::OnDestroy();

	// TODO: Add your message handler code here
	m_ChartWnd.Detach();
}
第八步,注意这一步,修改项目属性,取消Unicode属性。

SouthEast

为什么要这样呢,因为笨笨给大家编译的CChart版本是非Unicode的。当然同学们真的需要使用Unicode的话,可以找笨笨索取Unicode版本的CChart

打完收工!!

程序运行结果如下。

SouthEast

真正的白富美来了吧,哈哈哈哈(周氏招牌笑声)。

大家看到了,VS2010的编程步骤和VC6实际没有什么区别。虽然笨笨使用VC6,但屌丝也能逆袭白富美哟。