业余C++爱好者
文章平均质量分 87
baita96
三十儿立
展开
-
深入浅出CChart 每日一课——第八课 又见交互功能,旧爱重逢
记得第一次认识你,是在操场边那丛夹竹桃下。时光荏苒,物是人非,现如今,我这张旧船票还能否登上你的客船?第三课曾经介绍了CChart的交互功能,那里只写了半句代码,显示了CChart内部引擎的强大。稍微接触过Windows编程的同学都明白,所谓交互,无非是Windows的一些消息处理。本节课笨笨采用另一种编程方法,把CChart的消息处理过程做透明处理。和第一节课一样,我们还是一步一...原创 2013-09-18 12:44:05 · 3705 阅读 · 3 评论 -
深入浅出CChart 每日一课——第十六课 实习之旅,百年老店之新锐WTL
上节课笨笨给大家介绍了CChart在微软MFC框架下的应用,本节课的内容仍然和百年老店微软相关,只不过主角换成WTL了。不了解WTL的同学可以先找度娘温习一下。度娘在怀,今生何求。郎君啊,你是不是闷得慌,你要是闷得慌对我十娘讲,十娘我为你解忧伤。哦,对不起,笨笨刚才走神了,把度娘当成杜十娘了。哦,对了,要是女同学嘛,可以找谷哥切磋切磋哟。要在WTL下使用CChart,当然首先需要安装W...原创 2013-09-20 00:02:52 · 3763 阅读 · 0 评论 -
深入浅出CChart 每日一课——快乐高四第七课 铁蛋的竹马,返璞归真之对话框窗口多区域绘图
上一课笨笨给大家介绍的是在普通窗口上多区域绘图,本课将介绍对话框下的情形。由于对话框的消息循环和普通窗口有一些区别,所以在具体操作上略有不同,下面的处理过程可以供大家参考。第一步,打开VC,建立一个基于MFC AppWizard(exe)向导的项目LessonA07。向导中选择Dialog Based,其它不做任何更改,直接点Finish。第二步,拷贝库文件到LessonA07文件夹中,...原创 2015-07-25 17:35:00 · 2430 阅读 · 0 评论 -
深入浅出CChart 每日一课——快乐高四第十课 见微知著,CChart内置功能介绍之数据处理篇
CChart内置数据处理功能默认是不打开的。要打开数据处理功能,请点击菜单“绘图状态-->特别功能-->允许数据处理”,这时菜单“曲线数据-->数据名”下,将多出一个“数据处理”菜单,如图所示。可以看到,笨笨内置了四种数据处理功能,线性变换、微积分、数据平滑、数据拟合。A10.1 线性变换“线性变换”菜单提供了三个功能,分别是偏移、缩放、变换。这三个功能都非...原创 2015-08-26 15:09:42 · 2261 阅读 · 0 评论 -
深入浅出CChart 每日一课——第十八课 女神的套娃,玩转对话框
前面笨笨已经给大家展示了CChart编程的N个例子。这些例子中,我们的CChart图像都是绘制在程序的主窗口中的。在很多情况下,我们面对的情形不是这样的。这节课笨笨就给大家介绍一下怎样在对话框中用CChart画图。这里要说明一点,本节课的内容需要CChart的版本号不小于2.5.1.4,否则运行会不正常。请到CSDN网站笨笨的下载频道下载。点击打开链接第一步,打开VC,建立一个基于MF...原创 2013-09-21 00:20:24 · 4830 阅读 · 24 评论 -
深入浅出CChart 每日一课——快乐高四第十三课 月上柳梢,Win32标准控件ChartCtrl之牵手
上节课笨笨介绍了新增加的ChartCtrl控件,是在对话框中使用的。本节课简单介绍这个控件的另一种用法。首先按照以前的步骤建立一个Win32Application。增加WM_CREATE消息的响应例程如下。case WM_CREATE: HWND hW; hW = CreateWindow(_T("ChartCtrl"), _T("Cap"), WS_CHILD | WS...原创 2015-08-30 20:45:29 · 3019 阅读 · 3 评论 -
深入浅出CChart 每日一课——快乐高四第十四课 枝头红杏,Win32标准控件ChartCtrl之围城
本节课笨笨继续介绍ChartCtrl控件在DuiLib中的应用。请大家先复习高四第三课。本节课的方法和这一课的方法差不多,由于笨笨提供了ChartCtrl这个新工具,所以编程可以有一定的简化。首先,XML文件和高四第三课完全一样。其次,cpp文件只有CreateControl部分有所修改,如下。当然,前面那个CChartWnd变量不需要了。virtual CControlUI...原创 2015-08-31 19:41:06 · 2693 阅读 · 0 评论 -
深入浅出CChart 每日一课——快乐高四第十五课 罗马通途,利用ChartCtrl控件实现多区域绘图
在一个窗口中绘制多个图像是常见的需求。笨笨在前面的课程里面,已经介绍了三种多区域绘图的方式。利用分裂视图多区域绘图、利用CChart类多区域绘图、利用CChartWnd类多区域绘图。其中第三种方法是笨笨最近才实现的,以前的版本CChartWnd只能画一个图。由于新版本中提供了ChartCtrl这个控件,笨笨发现,利用这个控件实现多区域绘图才是最完美的。其实,从前面三课的内容,小伙伴们肯定已...原创 2015-09-02 18:44:58 · 5233 阅读 · 2 评论 -
深入浅出CChart 每日一课——快乐高四第十二课 必也正名,Win32标准控件ChartCtrl之初识
各位用过CChart的小伙伴们,笨笨的这个控件还算好使吧。慢着,慢着,让我想想,CChart是一个控件吗?好像顶多就是一个类库吧,根本就不是正儿八经的控件。呵呵,本节课就给大家介绍一下CChart怎么作为一个Windows标准控件来使用。还是按前面的规矩吧。第一步,建立一个基于对话框的MFC程序LessonA12。第二步,在LessonA12.h文件的头部加入CChart头文件...原创 2015-08-30 17:11:33 · 3395 阅读 · 1 评论 -
深入浅出CChart 每日一课——第十五课 实习之旅,百年老店之经典MFC
前面课程中,笨笨给大家的例子都是在VC下建立的Win32 Application项目。CChart是与框架无关的,其内部只使用了Win32API,没有使用任何与框架有关的代码,例如MFC、WTL、QT等。但CChart完全可以在这些框架下使用。顺便介绍一下,其实最早的CChart版本就是基于MFC的,后来笨笨重新开发,抛弃了MFC。本节课介绍CChart在MFC框架下的编程方法。M...原创 2013-09-19 18:37:07 · 4775 阅读 · 3 评论 -
深入浅出CChart 每日一课——快乐高四第九课 于无声处,CChart内置功能介绍之数据存取篇
笨笨长期以来一直使用Origin软件绘图和处理数据,但Origin软件没有编程语言的接口。笨笨开发CChart的一个潜在的目标,是想实现Origin软件的功能。当然这是一个不可能达到的目标,Origin软件的功能太强了,笨笨只能膜拜。下节课将介绍CChart内置的数据处理功能,这是笨笨向Origin的致敬。在这之前,本节课首先介绍一下CChart内置的数据存取功能。A9.1 CChart数...原创 2015-08-22 16:58:15 · 2413 阅读 · 0 评论 -
深入浅出CChart 每日一课——快乐高四第十一课 不离不弃,利用CChartWnd实现多区域绘图
笨笨在前面的课程里面提到,在一个窗口上不能粘多个CChartWnd,否则图像不正常,故而在高四6到8课,均使用CChart类,实现了在普通窗口、对话框窗口、DuiLib窗口上的多区域绘图。使用CChart类必须手动处理消息,而采用CChartWnd类省去了处理消息的步骤,编程更为简便。近几天笨笨进行了一些改进,采用CChartWnd类也可以在一个窗口上多区域绘图了。1 首先按照前面的步...原创 2015-08-28 22:15:44 · 2314 阅读 · 0 评论 -
深入浅出CChart 每日一课——快乐高四第八课 懵懂的童年,返璞归真之Duilib窗口多区域绘图
这一课是要在Duilib窗口上实现多区域绘图。前面高四第三课里面,已经介绍了CChart在Duilib里面的用法,其基本过程是在Duilib里面创建一个带句柄的窗口,然后把CChartWnd粘在上面。在计划写本课之前,本以为在Duilib里面多区域绘图是易如反掌的事,因为每个创建的窗口都是独立的,但把CChartWnd粘上后,多个窗口之间还是有点问题。没办法,只好祭出了屠龙刀,解决了这个问题,...原创 2015-07-26 11:31:04 · 5102 阅读 · 1 评论 -
深入浅出CChart 每日一课——快乐高四第十六课 老马识途,ChartCtrl控件在WTL中的使用
这几天有个朋友想在WTL下使用ChartCtrl控件,因此笨笨在这里也写一个简单的教程。要使用WTL当然要先安装它。笨笨在这里介绍两个例子,一个是WTL对话框界面,一个是WTL单文档SDI界面。A16.1 WTL对话框界面第一步,首先用AppWizard建立一个基于对话框的WTL程序LessonA16。第二步,在主对话框资源IDD_MAINDLG上添加一个Custom Cont...原创 2015-09-11 19:08:47 · 4014 阅读 · 0 评论 -
深入浅出CChart 每日一课——快乐高四第四课 冰山上的来客,锦上添花之插件菜单篇
CChart的交互功能很强,笨笨一向引为自豪。交互功能的一个重要组成部分就是右键菜单。同学们试一试就能知道,CChart的右键菜单功能是非常丰富的。尤其是还有很多功能在包装类中暂时还没有,只能在右键菜单或对话框中使用。虽然默认的右键菜单功能已经令笨笨自己满意了,但不见得能让所有的人满意。怎么办呢?那就需要用户自己定制。定制的方法有两种。一种方法是革命性的的,那就是把默认的...原创 2013-12-21 22:12:16 · 3045 阅读 · 1 评论 -
深入浅出CChart 每日一课——快乐高四第五课 梦想的天空,锦上添花之客户区自绘篇
上节课笨笨给大家介绍了CChart的插件菜单功能,这属于定制功能,给了用户发挥的自由。本节课继续介绍CChart的定制功能,这节课的内容要实用得多,因为定制的是客户区。客户区自绘功能将给您插上理想的翅膀,飞上梦想的天空,呵呵。完全的定制需要子类化功能,这个以后再介绍。本节课先介绍CChart提供的客户区自绘函数。CChart类有以下两个成员函数。 void SetUserDrawi...原创 2013-12-22 15:21:11 · 3802 阅读 · 1 评论 -
深入浅出CChart 每日一课——第二课 上一课代码分析,骨骼精奇之一点即通
在第一课中,笨笨编写了少量的代码。对CChart不熟悉的人对部分代码可能不能理解,下面给同学们解释一下。第一段代码如下。#include "Chart.h"#if defined(_UNICODE) || defined(UNICODE)# pragma comment(lib,"CChartu.lib")#else# pragma comment(lib,"CChart.lib...原创 2013-09-14 18:56:22 · 4701 阅读 · 1 评论 -
深入浅出CChart 每日一课——快乐高四第十八课 旧貌换新颜,锦上添花之自定义消息响应
CChart编程非常灵活。前面高四第四课介绍了插件菜单,第五课介绍了客户区自绘,本节课笨笨来介绍另一种可以自定义的因素,那就是——消息响应!首先看看下列函数。// 用户自定义鼠标移动前操作,返回true跳过默认例程void SetPreMouseMoveFunc(bool (*fcnPreMouseMove)( void *plot, HDC hDC, POINT point, UI...原创 2019-03-23 15:12:59 · 541 阅读 · 0 评论 -
深入浅出CChart 每日一课——快乐高四第一课 白富美的困惑,高版本VC之点点滴滴
笨笨的CChart系列教程早已结束。在教程发布以后,收到很多反馈意见。原来的教程可能有的地方还是交代得不是特别清楚,因此笨笨准备做一些查漏补缺的工作,再增加几课的内容。第十九课已经介绍了CChart在VS2010下的使用,本节课进一步介绍几点CChart在高版本VC下的使用注意事项。笨笨用的高版本VC是2010版,对于其它版本,应该是差不多的,VS2012版本已经有网友测试过了,完全一样。...原创 2013-10-23 21:51:20 · 4749 阅读 · 0 评论 -
深入浅出CChart 每日一课——第九课 实时数据显示,期中考试
前几课已经介绍了CChart的不少功能,这节课我们稍微停留一下,做一个复习。复习的方法呢,就是一个综合练习:用CChart实现实时数据显示功能。由于是练习,我们的问题背景可以任意设定。现在假设一台仪器每隔200ms传出两个温度数据。一个温度数据是仪器外的温度,基本是一个恒定值;另一位温度数据是仪器内部的温度,这个温度是随时间变化的,先升温,再降温,不停地循环。我们按照上一课的方法编程。简单...原创 2013-09-18 17:46:27 · 5278 阅读 · 8 评论 -
深入浅出CChart 每日一课——第十七课 时尚加潮流,DirectUI之炫彩界面库
笨笨是一个因循守旧的人,一向对新潮的东西不感冒,如今21世纪都过去百分之十几了,笨笨还在使用二十世纪的VC6。而IT领域是一个长江后浪推前浪,前浪死在沙滩上的世界,所以至今为止,笨笨还被IT领域拒之门外。虽然笨笨是个老古板,但偶尔追追潮流也是可以的嘛。这些年DirectUI好像红透大江南北。笨笨也稍微了解了一下,觉得这种编程思想是值得提倡的。目前优秀的DirectUI库,商业的就不说了,开...原创 2013-09-20 00:15:25 · 5982 阅读 · 1 评论 -
深入浅出CChart 每日一课——第五课 回到折线图,苦逼屌丝之万丈高楼平地起
上一课展示了CChart的第一个高级功能,本节课继续第一课的话题,介绍CChart最基本的功能——折线图的绘制。在第一课中,曲线数据是用AddPoint2D一点一点地加进去的,同学们是不是觉得这个方法有点傻?要是有几百个上千个数据点的话,岂不得累死!下面介绍CChart类的一个函数。int AddCurve(double *pX, double *pY, int nLen, in...原创 2013-09-16 21:16:32 · 4837 阅读 · 2 评论 -
深入浅出CChart 每日一课——第十三课 似曾相识之云图,乱花渐欲迷人眼
在第三课中,笨笨向大家展示了CChart绘制等高线图的功能,用很少的代码就实现了等高线图。这一课用CChart的云图功能把第三课的等高线图修改成云图。按照第一课的方法建立一个VC6工程Lesson13。在文件Lesson13.cpp中WndProc函数的前面,建立云图的场函数。这里先选择函数和第三课的函数相同。 double f(double x, double y){ r...原创 2013-09-19 13:01:26 · 3256 阅读 · 0 评论 -
深入浅出CChart 每日一课——第十四课 三维视图,数学老师之从平面到空间
三维视图的真实感较强,很多人比较喜欢。笨笨在CChart中实现了好几种类型的三维视图。其中一种是在普通折线图的基础上修修补补而成的假3D视图,这个3D不是真的3D,不过也很有用,笨笨用它来画瀑布图,效果非常好。另外两种三维视图是真3D,采用了OpenGL。第一种真三维视图是3D折线图,第二种真三维视图是3D曲面图。目前3D曲面图还有点缺点,主要是笨笨不太熟悉OpenGL。笨笨想用纹...原创 2013-09-19 17:34:41 · 4429 阅读 · 4 评论 -
深入浅出CChart 每日一课——第三课 初识交互功能,那山那水那人
下面请用VC6打开第一课编写的程序,并运行之,出现第一课最后一张图的那个界面。把鼠标在程序的窗口里四处动动,是不是图像的状态随着鼠标位置的移动有所变化呢?是的,的确是这样,这就是CChart的交互功能在起作用了。非常奇特的地方在于,我们并没有为交互功能添加任何代码!!!为了完整地体验CChart的交互功能,需要把第一课的程序略作修改。在VC中打开Lesson01.cpp文件,找...原创 2013-09-15 00:17:42 · 4137 阅读 · 15 评论 -
深入浅出CChart 每日一课——第四课 等高线图,白富美之第一个高级功能
前几课介绍了CChart的第一个例程,画了一条简单的折线图。有的同学不免就要嘀咕了,原来CChart也就不过尔尔了呗,没什么特别之处,我用MoveTo、LineTo在屏幕上自己画也能完成。这些同学低估了CChart的功能。虽然CChart是笨笨自己捣鼓出来的,但笨笨十年磨一剑,目前CChart功能已经相当不错。笨笨自我感觉CChart在功能上不比MsChart、TeeChart、Chart...原创 2013-09-16 13:53:30 · 4643 阅读 · 1 评论 -
深入浅出CChart 每日一课——第十课 分裂视图,锤子肖哥之错位人格
从这节课开始,笨笨给大家介绍几种CChart支持的复杂视图。本节课首先介绍分裂视图。这里的分裂当然不是湾湾阿扁搞的分裂。所谓分裂视图,也就是分区视图,就是把绘图区域分成几块,每一块单独绘制图形。下面仍然以实例的方式介绍本课内容。按照第一课的方式建立一个VC6项目,名为Lesson10。下面我们只需要关注WM_CREATE的响应例程。先如下填写。 case WM_CREATE...原创 2013-09-18 21:57:39 · 3047 阅读 · 0 评论 -
深入浅出CChart 每日一课——第十一课 分层视图,楼上七班的女孩
在Origin等成熟的商业软件中,分层功能对于具有多个比例尺的图像绘制来说,是必不可少的。CChart目前包含了两种具有分层功能的视图。一种名字就叫分层视图,这种视图所有图层共享绘图区域,每个图层单独绘制自己的坐标轴。另一种的名字叫共享X轴视图,这种视图的所有图层除了共享绘图区域外,X坐标轴也是共享的,每个图层单独绘制自己的Y轴。本节课先介绍分层视图。按照第一课的方式建立一个VC6项目...原创 2013-09-18 22:58:24 · 2753 阅读 · 0 评论 -
深入浅出CChart 每日一课——第十二课 共享X轴视图,穆斯林的婚礼
这一课笨笨给大家介绍另一种具有分层功能的视图,名为共享X轴视图。和上一课的分层视图相比,共享X轴视图的特点当然就是所有图层只有一个X轴,也就是所有数据在X方向的比例尺是一样的,实际问题中大多数情况都是这样的,所以笨笨单独设置了这么一个视图类型。其实还有另外一个区别,就是共享X轴视图的标题和图例也是所有图层共享的,而分层视图则每个图层单独绘制。后面这一点使得分层视图有时候显得很诡异,呵呵,而...原创 2013-09-19 08:11:20 · 3376 阅读 · 0 评论 -
深入浅出CChart 每日一课——第十九课 人往高处走,屌丝逆袭白富美之VS2010
至今为止,笨笨都是用老古董VC6给同学们介绍CChart的功能的。虽然笨笨已经说过,CChart在高版本VC下完全可以使用,但无图无真相,很黄很暴力,很多同学还是持怀疑态度。这一课笨笨用白富美VS2010给大家演示一下CChart的编程。有两种使用高版本VC的方法。一种是用高版本VC打开已有的VC6工程,VC自动把VC6工程升级成高版本VC的解决方案,然后再用高版本VC编译。这一招笨笨...原创 2013-09-21 16:58:50 · 3494 阅读 · 5 评论 -
深入浅出CChart 每日一课——第七课 屌丝之殇,擎天一柱之柱图
上一课笨笨给大家介绍了CChart饼图的绘制方法,这一课介绍柱图,这也是应用非常广的一种图表形式。按第一课的方法建立一个VC项目Lesson07。同样我们只需要修改WM_CREATE的响应例程,如下。 case WM_CREATE: chartWnd.Attach(hWnd, kTypeStem); { double pY[5]; pY[0] = 3.0; pY[1...原创 2013-09-17 20:44:42 · 3333 阅读 · 0 评论 -
深入浅出CChart 每日一课——快乐高四第二课 富丽堂皇,没落贵族宝贵遗产之QT篇
(敬请注意:由于教程的编写时间已经过去好几年了,CChart库在这期间不断迭代,已经有了一定的变化,使得教程中的部分代码不能直接运行。为减小大家在使用中的困惑,教程已经根据最新版本进行了修订,所有示例程序修订后都测试通过。新版教程和例子源码在QQ群487856433和www.cchart.net网站均可下载。)作为弱鸡鸭公司的产品,QT是非常强大的开发工具。可惜呀,在特级黑客盖茨先生种植的超级...原创 2013-10-23 21:59:31 · 4173 阅读 · 16 评论 -
深入浅出CChart 每日一课——快乐高四第三课 巨人的垫脚石,DirectUI之DuiLib篇
在前面第十七课,笨笨已经给大家展示了CChart在国产开源DirectUI库炫彩界面库中的使用方法。炫彩界面库的确不错,但从目前看来,另一款国产开源DirectUI库DuiLib更加火,华为、百度、腾讯、金山、360好像都在用,所以笨笨又当了一回小学生,学习了一把DuiLib。这要感谢Alberl大神,写了一篇通俗易懂的教程,教程网址http://www.cnblogs.com/Alberl/p/...原创 2013-10-26 02:08:23 · 6898 阅读 · 10 评论 -
深入浅出CChart 每日一课——第二十课 窥豹一斑,阶段性总结之毕业典礼
(敬请注意:由于教程的编写时间已经过去好几年了,CChart库在这期间不断迭代,已经有了一定的变化,使得教程中的部分代码不能直接运行。为减小大家在使用中的困惑,教程已经根据最新版本进行了修订,所有示例程序修订后都测试通过。新版教程和例子源码在QQ群487856433和www.cchart.net网站均可下载。)经过这段时间废寝忘食的工作,笨笨的CChart系列教程终于将暂时告一段落。要到分...原创 2013-09-21 21:59:30 · 3090 阅读 · 4 评论 -
深入浅出CChart 每日一课——第六课 童心未泯,老狐狸分油饼之饼图
这节课我们轻松一下,很快就放学,呵呵。笨笨一直就喜欢吃饼。记得小时候,那时2B还只是铅笔,不是某些青年的代名词,全国人民都不富裕,笨笨最喜欢的东西就是在一团面粉里面夹一块肥肉,然后放在家里炉灶里面的热灰里,等饭做熟了饼也烤好了,拿出来咬一口肥油直冒,那个香啊,现在想起了还直流口水。...原创 2013-09-17 18:34:05 · 2939 阅读 · 4 评论 -
工业级国产精品曲线绘制库CChart 3.0.0.1版发布
CChart是一款国产精品曲线绘制库,可以绘制多种二维、三维曲线,包括折线图、等高线图、云图、饼图、柱图、散点图、面积图、直方图、极线图、甘特图、雷达图、瀑布图等,具有非常全面的功能。而且CChart内部选项极为丰富,无论是曲线本身,还是标题、坐标轴、图例、背景等部分,都有大量的选项可供设置。在追求功能的同时,CChart在简化调用方面做到了极致,一般只用几句代码就可以画出漂亮的图像。这一点可原创 2013-10-20 19:53:41 · 9449 阅读 · 16 评论 -
工业级国产曲线绘制工具CChart的主页开通
CChart是一款国产精品曲线绘制库,基于C++和Win32API,工作于Windows平台。CChart的特点:功能强悍,调用简单。CChart可以绘制多种二维、三维曲线,包括折线图、等高线图、云图、饼图、柱图、散点图、面积图、直方图、极线图、甘特图、雷达图、瀑布图等,功能非常全面,且内部选项极为丰富。在追求功能的同时,CChart在简化调用方面做到了极致,一般只用几句代原创 2013-12-17 20:01:56 · 5875 阅读 · 6 评论 -
深入浅出CChart 每日一课——快乐高四第十九课 青出于蓝,自由飞翔之子类化编程
有一位太太怀孕了。在第9个月的时候,先生终于忍不住了,强迫他太太跟他做了一些事情。一个月后,小孩生出来了!是个男生,而且是个天才,一出生就会讲话!只见他转头一看见医生就问:“你是不是我爸?”医生说:“不是,我是医生。”然后他又看到了护士,也问说:“你是不是我爸?”护士说:“不是,我是护士。”最后他看到了他的亲生父亲,问说:“你是不是我爸?”他父亲很高兴的说:“对呀!我就是你的爸爸!...原创 2019-03-23 15:33:00 · 760 阅读 · 0 评论