High-speed Charting Control静态绘图

在写之前必须推荐一篇文章,我也是跟着这位大佬学习的,点击这里进去查看

一、建立坐标轴

  • ChartCtrl一共有3种坐标,分别是数值型(CChartStandardAxis)、时间型(CChartDateTimeAxis)和对数型(CChartlogarithmicAxis),它们都继承于CChartAxis。
  • 建立坐标系的处理放在dialog的初始化函数OnInitDialog中完成,本文选择了数值型和时间型分别作Y轴和X轴,代码如下:
 //纵坐标为数值坐标CChartAxis *pAxis = NULL;pAxis = m_ChartCtrl1.CreateStandardAxis(CChartCtrl::LeftAxis);pAxis->SetAutomatic(true);//横坐标为时间坐标CChartDateTimeAxis* pDateAxis = NULL;pDateAxis = m_ChartCtrl1.CreateDateTimeAxis(CChartCtrl::BottomAxis);pDateAxis->SetTickLabelFormat(false, _T("%m月%d日"));pDateAxis->SetAutomatic(true);TChartString str1;str1 = _T("IDC_ChartCtrl1 - m_ChartCtrl1");m_ChartCtrl1.GetTitle()->AddString(str1);//纵坐标轴命名CChartAxisLabel* pLabel = NULL;str1 = _T("数值坐标轴");pAxis = NULL;m_ChartCtrl1.GetLeftAxis()->GetLabel()->SetText(str1);//横坐标轴命名str1 = _T("时间坐标轴");m_ChartCtrl1.GetBottomAxis()->GetLabel()->SetText(str1);

二、添加标题

  • 添加标题之前,要做一定的宏定义,因为MFC中字符串基于C语言CString,而高速绘图控件的字符串基于STL中的string,所以为了在使用中unicode能对应,所以做一下宏定义。
#include<string>
#include <sstream>#if defined _UNICODE ||defined UNICODEtypedef std::wstring TChartString;typedef std::wstringstream TChartStringStream;
#elsetypedef std::string TChartString;typedef std::stringstream TChartStringStream;
#endif
  • 在dialog的初始化函数OnInitDialog中添加标题代码如下:
 TChartString str1;str1 = _T("IDC_ChartCtrl1 - m_ChartCtrl1");m_ChartCtrl1.GetTitle()->AddString(str1);

三、绘制线图

  • 绘图主要是要调用AddPoints函数,我们给定两个数组,函数就会按照数组对应的点绘制图像,在dialog的初始化函数OnInitDialog中添加如下代码:
 m_ChartCtrl1.EnableRefresh(false);double x[10] = { 0,1,2,3,4,5,6,7,8,9 }, y[10] = { 2,3,2,5,4,6,9,8,7,5 };CChartLineSerie *pLineSerie1;m_ChartCtrl1.RemoveAllSeries();//先清空pLineSerie1 = m_ChartCtrl1.CreateLineSerie();pLineSerie1->SetSeriesOrdering(poNoOrdering);//设置为无序pLineSerie1->AddPoints(x, y, 10);pLineSerie1->SetName(_T("这是IDC_ChartCtrl1的第一条线"));//SetName的作用将在后面讲到m_ChartCtrl1.EnableRefresh(true);
  • 绘制结果如下图:

MFC之图像绘制---高速绘图控件(High-speed Charting Control)应用(二)相关推荐

  1. MFC之图像绘制---高速绘图控件(High-speed Charting Control)应用(一)

    High-speed Charting Control的下载.配置及创建 一.介绍 必须吹一波这个大佬,我觉得这个可能是MFC中最好用的绘图控件了,相关下载链接如下: 官方下载地址https://ww ...

  2. TeeChart替代品,MFC下好用的高速绘图控件-(Hight-Speed Charting)

    相关链接: C++ GUI 绘图控件目录 MFC VS2010 使用TeeChart绘图控件 - 之一 - 控件和类的导入 VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图, ...

  3. MFC下好用的高速绘图控件-(Hight-Speed Charting)

    Hight-Speed Charting是开源免费 先到codeproject下载源码包ChartCtrl_source.zip百度云盘 下载完成后解压到工程目录下ChartCtrl 1.导入工程到工 ...

  4. 基于MFC串口编程和曲线图绘制(visual studio2008,Teechart绘图控件)的程序总结

    前言 今年刚进入公司按经理的要求为底盘测控机写了一个小小的console.这也是第一次教认真的完成整个程序的编写.程序不大,所用技术比较基础也不前卫,属于初级程序员的练手程序(知识的整理和搬运).虽然 ...

  5. High-speed Charting Control(MFC绘图控件)--MFC绘图Demo(包含鼠标响应)

    首先我们先上效果图,如果你需要这样的Demo请点击此处下载:High-speed Charting Control--MFC绘图Demo 在开始之前,我们首先推荐一篇博客,该博客主要对该控件的英文开发 ...

  6. MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置

    在MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置: CRect  r; pWnd->GetWindowRect(&r); 这样获得的r是控件相对于屏幕的坐标,然后用Scre ...

  7. qt超强精美绘图控件 - QCustomPlot一览 及 安装使用教程

    1.概述 QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己 ...

  8. VC用MFC开发的圆形进度条控件

    DownLoad Src VC用MFC开发的圆形进度条控件 visualsan@yahoo.cn NUAA zss 在NBA2007游戏里,还有很多科幻电影里,经常可以看到圆形进度条.有的用来显示导弹 ...

  9. OWC绘图控件研究(轉)

    OWC绘图控件研究 OWC,即Office Web Components,是微软随Office提供的绘图控件,使用它能够绘制绝大部分的图形,但不幸的是OWC的帮助文件并不好用,网上关于OWC的文章也都 ...

最新文章

  1. Tomcat架构解析之3 Connector NIO
  2. python 并发访问数据库_【数据库】如何实现python3实现并发访问水平切分表
  3. Flask-WTF 之防止CSRF***学习记录
  4. absolute如果找不到定位父元素那么会相对于谁进行定位_selenium+python面试题目总结,完整度80%,看看你会多少?...
  5. 多数据点拟合曲线,最小二乘法,矩阵
  6. php rpc调用,PHP远程调用, 为什么需要使用RPC
  7. Ex2010学习(十),恢复用户已删除邮件
  8. Ubuntu下替换软件列表
  9. [10]STM32程序调试方法-STLINK调试和软件调试
  10. NetCore游戏服务器GeekServer
  11. 现代计算机eniac的诞生,eniac诞生于哪一年(第一台电脑eniac诞生在哪国)
  12. SpringBoot集成Liquibase
  13. DB2根据指定列筛选重复数据
  14. JS中数组的常用方法(concat拼接,join修改间隔符,pop移除最后一个元素,push在数组最后添加新的元素,reverse反转数组元素,shift移除第一个元素,unshift添加,spli)
  15. Android中Webview显示全屏拉伸图片
  16. 股指期货策略精选合集
  17. html+js手机号获取验证码功能实现
  18. 夜游经济文化旅游如何打造城市IP
  19. 嵌入式linux软件工程师的总结和规划
  20. 远程办公软件华为云WeLink的客服服务有哪些?

热门文章

  1. wps的pdf高亮后怎么取消_pdf高亮文本怎么取消及修改
  2. 420个生活小窍门,很有用的哦!
  3. Java定义类person_定义一个名为Student的类,它继承Person类,其中定义sno(表示学号)和major(表示专业)两个成员变量...
  4. win7上安装php的扩展vld
  5. 如何调整照片大小kb?将照片缩小到指定的kb方法?
  6. ios13 无法传参_iOS13.1 正式版来了,加入了降频功能
  7. linux下mv命令参数详解,linux下的mv命令使用详解
  8. 2022金九银十最全的软件测试面试题,能不能找到合适工作就看它了
  9. P1162 填涂颜色问题(广度优先搜索BFS)
  10. 堆排序--小根堆的建立与调整