至今为止,笨笨都是用老古董VC6给同学们介绍CChart的功能的。虽然笨笨已经说过,CChart在高版本VC下完全可以使用,但无图无真相,很黄很暴力,很多同学还是持怀疑态度。

这一课笨笨用白富美VS2010给大家演示一下CChart的编程。

有两种使用高版本VC的方法。

一种是用高版本VC打开已有的VC6工程,VC自动把VC6工程升级成高版本VC的解决方案,然后再用高版本VC编译。这一招笨笨用得最多,但估计不适合大多数同学,因为这些同学连VC6见都没见过,怎么能建立VC6工程呢。因此,这里就不介绍这种方法了。

第二种当然是直接使用高版本VC了,下面就开始演示这种方法。

第一步,打开VS2010。

第二步,选择File-->New-->Project,建立一个名为Lesson19的MFC Application。

向导中选择MFC Standard,然后直接Finish。

第三步,拷贝5个CChart库文件到Lesson19文件夹中。

第四步,在Lesson19View.h中,添加Chart库的头文件和库文件引用。

#include "Chart.h"
#if defined(_UNICODE) || defined(UNICODE)
#   pragma comment(lib,"CChartu.lib")
#else
#   pragma comment(lib,"CChart.lib")
#endif
using namespace NsCChart;

第五步,在CLesson19View类中添加一个CChartWnd成员变量。


CChartWnd m_ChartWnd;

第六步,利用ClassWizard给CLesson19View类添加WM_CREATE和WM_DESTROY的处理函数。

第七步,修改OnCreate和OnDestroy函数如下。


int CLesson19View::OnCreate(LPCREATESTRUCT lpCreateStruct)
{if (CView::OnCreate(lpCreateStruct) == -1)return -1;// TODO:  Add your specialized creation code herem_ChartWnd.Attach(m_hWnd, kTypePie);m_ChartWnd.GetChart()->AddPie(40);m_ChartWnd.GetChart()->AddPie(30);m_ChartWnd.GetChart()->AddPie(30);m_ChartWnd.GetChart()->SetPieTitle(_T("白富美"), 0);m_ChartWnd.GetChart()->SetPieTitle(_T("大舅子"), 1);m_ChartWnd.GetChart()->SetPieTitle(_T("二舅子"), 2);m_ChartWnd.GetChart()->SetTitle(_T("百亿富翁家产继承权"));return 0;
}void CLesson19View::OnDestroy()
{CView::OnDestroy();// TODO: Add your message handler code herem_ChartWnd.Detach();
}

第八步,注意这一步,修改项目属性,取消Unicode属性。

为什么要这样呢,因为笨笨给大家编译的CChart版本是非Unicode的。当然同学们真的需要使用Unicode的话,可以找笨笨索取Unicode版本的CChart。

打完收工!!

程序运行结果如下。

真正的白富美来了吧,哈哈哈哈(周氏招牌笑声)。

大家看到了,VS2010的编程步骤和VC6实际没有什么区别。虽然笨笨使用VC6,但屌丝也能逆袭白富美哟。

深入浅出CChart 每日一课——第十九课 人往高处走,屌丝逆袭白富美之VS2010相关推荐

  1. 深入浅出CChart 每日一课——快乐高四第五十六课 絮絮叨叨,岁月杀猪刀之FAQ

    CChart发布已有多年,QQ交流群也成立了很久.在和网友的交流中,发行了CChart的很多问题,也进行了很多改进和完善. 网友们接触CChart的时间有早有晚,不同的网友经常在群里或私聊的时候提出的 ...

  2. 深入浅出CChart 每日一课——快乐高四第五十七课 新的起点,炫彩界面库之老树新芽

    CChart对多种DirectUI库具有良好的适配性,炫彩界面库也不例外.前面已经有两篇关于炫彩界面库的课程,分别是第17课"深入浅出CChart 每日一课--第十七课 时尚加潮流,Dire ...

  3. python第二十九课——文件读写(复制文件)

    自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest):#1.打开两个文件:1个关联读操作,1个关联写操作fr=open(src,'rb') ...

  4. NeHe OpenGL第三十九课:物理模拟

    NeHe OpenGL第三十九课:物理模拟 物理模拟简介: 还记得高中的物理吧,直线运动,自由落体运动,弹簧.在这一课里,我们将创造这一切.   物理模拟介绍 如果你很熟悉物理规律,并且想实现它,这篇 ...

  5. NeHe OpenGL第十九课:粒子系统

    NeHe OpenGL第十九课:粒子系统 粒子系统: 你是否希望创建爆炸,喷泉,流星之类的效果.这一课将告诉你如何创建一个简单的例子系统,并用它来创建一种喷射的效果. 欢迎来到第十九课.你已经学习了很 ...

  6. Python-opencv学习第二十九课:高斯双边模糊

    Python-opencv学习第二十九课:高斯双边模糊 文章目录 Python-opencv学习第二十九课:高斯双边模糊 一.学习部分 二.代码部分 1.引入库 2.读入数据 3.完整代码 三.运行结 ...

  7. NeHe OpenGL第二十九课:Blt函数

    NeHe OpenGL第二十九课:Blt函数 Blitter 函数: 类似于DirectDraw的blit函数,过时的技术,我们有实现了它.它非常的简单,就是把一块纹理贴到另一块纹理上. 这篇文章是有 ...

  8. NeHe OpenGL教程 第二十九课:Blt函数

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. C语言笔记 第三十九课 程序中的三国天下

    第三十九课 程序中的三国天下 程序中的栈 栈是现代计算机程序里最为重要的概念之一 栈在程序中用于维护函数调用上下文 函数中的参数和局部变量存储在栈上 栈是一种行为,一种先进后出的行为 栈保存了一个函数 ...

最新文章

  1. python caffe 在师兄的代码上修改成自己风格的代码
  2. Jsp+Servlet+JavaBean经典MVC模式理解
  3. 【Network Security!】网络安全常用术语
  4. Python中的遇到的错误(持续更新)
  5. eclipse plugin 菜单
  6. nova 宿主机重启自动恢复虚拟机运行状态
  7. Mac和Xcode常用的快捷键
  8. pandas学习、热力图、子图
  9. 十七款PDF在线处理转换器,目前最全合集
  10. 绘制AutoCad中的曲线(Curve)
  11. 短信验证码接口被恶意攻击怎么办?
  12. Vue使用Element UI插件
  13. 乐视pro3精英版乐视X722线刷兼救砖_纯净刷机包_教程
  14. Domain Adaption Without Source Data论文阅读笔记
  15. 【PyTorch】3 AI诗人RNN实战(LSTM)——完成诗歌剩余部分、生成藏头诗
  16. ·我开发的项目以及进展情况
  17. Android酷炫实用的开源框架(UI框架),android手机开发指南
  18. uml事务、关系和图
  19. 新手开店感想接口,使用一件铺货如何优化标题,如何优化商品主图?
  20. 博弈论——万元陷阱和智猪博弈

热门文章

  1. 计算机毕业设计Node.js+Express校内视频资料管理系统(源码+程序+lw+远程调试)
  2. 【23考研】计算机择校信息库—广东高校计算机相关专业22专业目录分类汇总(按专业课分类汇总)
  3. 2080Ti深度学习环境配置及常用软件安装
  4. VUE 给render出来的元素绑定el-popove
  5. 【Typora丨Windows】图像设置:本地保存PicGo+阿里云OSS图床搭建
  6. 达梦数据库创建实例(图形化界面流程)
  7. 纯CSS手风琴图片层叠hover展开
  8. Nginx 指定域名跨域请求宝塔配置
  9. 清微智能“灵秀之星”|| Lily:修炼在日常劳作之中
  10. 优化方法总结 Batch Normalization、Layer Normalization、Instance Normalization 及 Group Normalization