MFC之图像绘制---高速绘图控件(High-speed Charting Control)应用(二)
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)应用(二)相关推荐
- MFC之图像绘制---高速绘图控件(High-speed Charting Control)应用(一)
High-speed Charting Control的下载.配置及创建 一.介绍 必须吹一波这个大佬,我觉得这个可能是MFC中最好用的绘图控件了,相关下载链接如下: 官方下载地址https://ww ...
- TeeChart替代品,MFC下好用的高速绘图控件-(Hight-Speed Charting)
相关链接: C++ GUI 绘图控件目录 MFC VS2010 使用TeeChart绘图控件 - 之一 - 控件和类的导入 VS2010 使用TeeChart绘图控件 - 之二 - 绘制图形(折线图, ...
- MFC下好用的高速绘图控件-(Hight-Speed Charting)
Hight-Speed Charting是开源免费 先到codeproject下载源码包ChartCtrl_source.zip百度云盘 下载完成后解压到工程目录下ChartCtrl 1.导入工程到工 ...
- 基于MFC串口编程和曲线图绘制(visual studio2008,Teechart绘图控件)的程序总结
前言 今年刚进入公司按经理的要求为底盘测控机写了一个小小的console.这也是第一次教认真的完成整个程序的编写.程序不大,所用技术比较基础也不前卫,属于初级程序员的练手程序(知识的整理和搬运).虽然 ...
- High-speed Charting Control(MFC绘图控件)--MFC绘图Demo(包含鼠标响应)
首先我们先上效果图,如果你需要这样的Demo请点击此处下载:High-speed Charting Control--MFC绘图Demo 在开始之前,我们首先推荐一篇博客,该博客主要对该控件的英文开发 ...
- MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置
在MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置: CRect r; pWnd->GetWindowRect(&r); 这样获得的r是控件相对于屏幕的坐标,然后用Scre ...
- qt超强精美绘图控件 - QCustomPlot一览 及 安装使用教程
1.概述 QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己 ...
- VC用MFC开发的圆形进度条控件
DownLoad Src VC用MFC开发的圆形进度条控件 visualsan@yahoo.cn NUAA zss 在NBA2007游戏里,还有很多科幻电影里,经常可以看到圆形进度条.有的用来显示导弹 ...
- OWC绘图控件研究(轉)
OWC绘图控件研究 OWC,即Office Web Components,是微软随Office提供的绘图控件,使用它能够绘制绝大部分的图形,但不幸的是OWC的帮助文件并不好用,网上关于OWC的文章也都 ...
最新文章
- Tomcat架构解析之3 Connector NIO
- python 并发访问数据库_【数据库】如何实现python3实现并发访问水平切分表
- Flask-WTF 之防止CSRF***学习记录
- absolute如果找不到定位父元素那么会相对于谁进行定位_selenium+python面试题目总结,完整度80%,看看你会多少?...
- 多数据点拟合曲线,最小二乘法,矩阵
- php rpc调用,PHP远程调用, 为什么需要使用RPC
- Ex2010学习(十),恢复用户已删除邮件
- Ubuntu下替换软件列表
- [10]STM32程序调试方法-STLINK调试和软件调试
- NetCore游戏服务器GeekServer
- 现代计算机eniac的诞生,eniac诞生于哪一年(第一台电脑eniac诞生在哪国)
- SpringBoot集成Liquibase
- DB2根据指定列筛选重复数据
- JS中数组的常用方法(concat拼接,join修改间隔符,pop移除最后一个元素,push在数组最后添加新的元素,reverse反转数组元素,shift移除第一个元素,unshift添加,spli)
- Android中Webview显示全屏拉伸图片
- 股指期货策略精选合集
- html+js手机号获取验证码功能实现
- 夜游经济文化旅游如何打造城市IP
- 嵌入式linux软件工程师的总结和规划
- 远程办公软件华为云WeLink的客服服务有哪些?
热门文章
- wps的pdf高亮后怎么取消_pdf高亮文本怎么取消及修改
- 420个生活小窍门,很有用的哦!
- Java定义类person_定义一个名为Student的类,它继承Person类,其中定义sno(表示学号)和major(表示专业)两个成员变量...
- win7上安装php的扩展vld
- 如何调整照片大小kb?将照片缩小到指定的kb方法?
- ios13 无法传参_iOS13.1 正式版来了,加入了降频功能
- linux下mv命令参数详解,linux下的mv命令使用详解
- 2022金九银十最全的软件测试面试题,能不能找到合适工作就看它了
- P1162 填涂颜色问题(广度优先搜索BFS)
- 堆排序--小根堆的建立与调整