CChart曲线库移值

本说明讲解的是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 路径下面重新添加即可
第个错误更改  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



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值