CChart曲线库移值

来源:互联网 发布:淘宝美工在家可以接单 编辑:程序博客网 时间:2024/06/06 09:17
本说明讲解的是CChart开源代码的移值 也就是源代码有的,因为用起来DLL非常的不方便。

1.下载CChart源代码 http://www.cchart.net/
下载下来进行解压操作解压之后文件如下
2.创建CChart静态链接库 打开SourceAPI文件夹 双击Plot.sln工程打开 在此用的是VS2013 
点击重新编译
3.删除不必要的工程
移除  TestAPI工程之后编译
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 路径下面重新添加即可
第个错误更改  constnMaxFile = 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);

                //添数据
                doublepX[360], pY[360];
                for(inti = 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



0 0
原创粉丝点击