本说明讲解的是CChart开源代码的移值 也就是源代码有的,因为用起来DLL非常的不方便。
下载下来进行解压操作解压之后文件如下
2.创建CChart静态链接库 打开SourceAPI文件夹 双击Plot.sln工程打
开 在此用的是VS2013
点击重新编译
3.删除不必要的工程
1>c1xx : fatal error C1083: 无法打开源文件: “Plot\Chart.cpp”: No such file or directory
3>c:\users\administrator\desktop\cchartfull\sourceapi\plot\basics\defhandlers\defhandlers.cpp(45): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
Chart.pp的文件的路径出错,删除原有工程的文件之后再重新添加即可. 在CChartFull\SourceAPI\Plot\Wraper 路径下面重新添加即可
第个错误更改 const nMaxFile = 1024; 为const int nMaxFile = 1024;
再次编译 ========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ===
=======
4.:更改类名字 在CChartFull\SourceAPI\Plot\Extended\GridPlot\grid_lib路径下面找到 memdc.h memdc.c 文件并且打开 替换 CMemDC 字符串 为GCMemDC(因为在VS2013里面会提示重定义错误)
此时类名称就变成了
5.再次编译 出现错误
1>c:\users\administrator\desktop\cchartfull\sourceapi\plot\extended\gridplot\grid_lib\grid.cpp(2824): error C2065: “CMemDC”: 未声明的标
识符
找打这个文件,同时也把CMenDC 改成GCMenDC再次编译 ========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========
6. 打开此路CChartFull\SourceAPI\Plot\Basics 找到Global.h文件并且打开添加如下
再次编译 ========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========到此为止.ib文件创建成
功
7.新建立一个MFC 工程或者win32 工程 为了方便我们放置工程的路径为 CChartFull文件夹下面
在 loggerView.h 类里面添加如下
#include "../../SourceAPI/Plot/PlotInterface.h"
#ifdef _DEBUG
#pragma comment(lib,"..\\..\\SourceAPI\\Debug\\Plotd.lib")
#else
#pragma comment(lib,"..\\..\\SourceAPI\\Release\\Plot.lib")
#endif
using namespace std;
public:
CChartWnd m_ChartWnd;
在loggerView.cpp 里面添加Create函数并且在里面添加代码如下
m_ChartWnd.Attach(m_hWnd,
kTypeSplit
);
m_ChartWnd.GetChart()->ResizePlots(2, 2, 2);
//添数据
double
pX[360], pY[360];
for
(
int
i = 0; i<360; i++)
{
pX[i] = 2.0*3.1415926536*i / 360.0;
pY[i] = pX[i] * pX[i];
}
m_ChartWnd.GetChart()->AddCurve(pX, pY, 360);
m_ChartWnd.GetChart()->AddCurve(pX, pY, 360, 1);
m_ChartWnd.GetChart()->AddCurve(pX, pY, 360, 2);
//改属性
m_ChartWnd.GetChart()->SetBkgndColor(
RGB
(200, 200, 200), 0);
效果如果图 可以自动改变大小
附上工程源码: http://pan.baidu.com/s/1gdm69Yb