至今为止,笨笨都是用老古董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. 代码覆盖率原理分析:sys.settrace流程分析
  2. Python实训day14am【Python网络爬虫综合大作业-答辩】
  3. Qt Creator操作方法
  4. C++将“引用”作为函数返回值类型的格式、好处和注意事项?
  5. loj2090. 「ZJOI2016」旅行者
  6. LeetCode 1085. 最小元素各数位之和
  7. dubbo protocol port 消费者端_企业级 SpringBoot 与 Dubbo 的并用
  8. 【干货】某视频app推荐详解.pdf(附下载链接)
  9. MQTT客户端代码(C语言)
  10. 小米手机浏览器部分图片显示异常
  11. Jmeter脚本录制和压测
  12. excel不同文件表格批量加表头vba_用Excel VBA实现多文件夹内文件加入表头 遍历文件...
  13. VS2017中添加Flash控件
  14. 手机变Android麦克风,【工具】手机秒变摄像头及麦克风方法
  15. 高防ip是如何防御攻击的?
  16. 解决word无法回退及修改内容不保存问题
  17. 2072-歌手大奖赛
  18. ROS学习----依据ROS入门教程,整理的ROS命令
  19. Exchange Server 2013邮箱记录管理MRM
  20. 【java基础知识】——jdk和jre的区别

热门文章

  1. WebGIS开发及二三维GIS开发框架对比分析
  2. python 计算简单移动平均
  3. springBoot ,根据二维码图片,读取二维码图片内容
  4. AjaxPro使用方法
  5. yolov6解锁了新姿势
  6. 《啊哈!算法》知识点汇总
  7. amazon实习生面试
  8. 4230. 【五校联考4day1】淬炼神体
  9. SystemTap Beginner
  10. 解析Systemtap