笨笨属于凡夫俗子,对于这个CChart系列教程,不能免俗,仍然从Hello World开始。首先给出一个简单的例子。
CChart软件库的主要功能是在软件中绘制曲线。
CChart一般在VC中使用。笨笨使用的开发工具是VC6。虽然VC6已经很老了,虽然VC6不符合时代的潮流了,但是笨笨决定爱她到天荒地老,海枯石烂,永不变心。
如果使用更高版本的VC,那也没有问题,笨笨的程序在VS2010和VS2012上测试过,完全正常。
作为准备工作,请到www.cchart.net网站的下载频道下载最新的CChart_Vs2010.7z文件。在本教程修订之日,CChart版本号为4.2.0.0。
目前发布版本是用Vs2010编译的。虽然CChart是用VC6开发的,但考虑到现在这个玩意已经没有人真正使用了,所以从4.2.0.0版本开始,不再提供VC6编译的版本,而以前是提供VC6和Vs2010两个编译版本。
现在开始!
第一步,请打开VC6。
第二步,选择File-->New,并选择Win32 Application,在Project name框中输入Lesson01,在Location框中选择合适的路径。
第三步,点击OK按钮,在出现的对话框中选择 A typical “Hello World” application,并点击Finish按钮,在出现的下一个对话框中点击OK按钮。
第四步,把CChartDll.7z文件解压,并把其中Library文件夹中的5个文件全部拷贝到刚才新建的Lesson01项目的文件夹中。
第五步,在VC中打开Lesson01.cpp文件,在文件头部原有的#define MAX_LOADSTRING 100这一行下面输入以下代码。
#include "Chart.h"
#if defined(_UNICODE) || defined(UNICODE)
# pragma comment(lib,"CChartu.lib")
#else
# pragma comment(lib,"CChart.lib")
#endif
using namespace NsCChart;
这个大家都懂的,头文件和导入库文件,以及CChart的命名空间。
第六步,找到Lesson01.cpp文件的WndProc函数,并在原有LoadString(hInst, IDS_HELLO, szHello, MAX_LOADSTRING);这一行下面输入以下代码。
static CChartWnd chartWnd;
第七步,找到WndProc函数中case WM_PAINT:一行,在其上面输入以下代码。
case WM_CREATE:
chartWnd.Attach(hWnd, kTypeXY);
chartWnd.GetChart()->AddPoint2D(-3.0, 9.0);
chartWnd.GetChart()->AddPoint2D(-2.0, 4.0);
chartWnd.GetChart()->AddPoint2D(-1.0, 1.0);
chartWnd.GetChart()->AddPoint2D(0.0, 0.0);
chartWnd.GetChart()->AddPoint2D(1.0, 1.0);
chartWnd.GetChart()->AddPoint2D(2.0, 4.0);
chartWnd.GetChart()->AddPoint2D(3.0, 9.0);
chartWnd.GetChart()->SetTitle(_T("Hello World,我的第一个CChart程序!"));
break;
第八步,找到WndProc函数中case WM_DESTROY:一行,在其下面增加一行
chartWnd.Detach();
第九步,找到WndProc函数中case WM_PAINT:一行,删除掉或者注释掉一下代码。
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: Add any drawing code here...
RECT rt;
GetClientRect(hWnd, &rt);
DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER);
EndPaint(hWnd, &ps);
break;
第十步,编译并运行程序,效果如图。
小结:在第一课,我们利用CChart的功能,把7个点连成一条曲线并轻松地画了出来。
现在下课。