上节课笨笨给大家介绍了CChart在微软MFC框架下的应用,本节课的内容仍然和百年老店微软相关,只不过主角换成WTL了。

不了解WTL的同学可以先找度娘温习一下。度娘在怀,今生何求。郎君啊,你是不是闷得慌,如果你闷得慌给我十娘讲,十娘我为你解忧伤。哦,对不起,笨笨刚才走神了,把度娘当成杜十娘了。

要在WTL下使用CChart,当然首先需要安装WTL。由于笨笨使用的是VC6,笨笨下载的是WTL8.0,并下载了WTL7.1用于辅助安装,具体的方法还得找度娘。

如果同学们使用高版本VC,可以下载WTL8.5。

现在我们开始。

第一步,用VC建立一个基于ATL/WTL Wizard向导的程序,名为Lesson16。在余下的向导步骤中选择默认值,不做任何修改。

第二步,拷贝五个库文件到Lesson16文件夹。

第三步,在VC中打开Lesson16View.h文件,在其头部添加如下代码。


#include "Chart.h"
#ifdef _DEBUG
#pragma comment(lib, "PlotDll_d.lib")
#else
#pragma comment(lib, "PlotDll.lib")
#endif

第四步,在Lesson16View.h文件里面,为CLesson16View类添加一个CChartWnd类型的成员变量。


CChartWnd   m_ChartWnd;

第五步,找到Lesson16View.h中如下代码。


BEGIN_MSG_MAP(CLesson16View)MESSAGE_HANDLER(WM_PAINT, OnPaint)
END_MSG_MAP()

修改成下面这样。


BEGIN_MSG_MAP(CLesson16View)//MESSAGE_HANDLER(WM_PAINT, OnPaint)MESSAGE_HANDLER(WM_CREATE, OnCreate)MESSAGE_HANDLER(WM_DESTROY, OnDestroy)
END_MSG_MAP()

这就是WTL的消息响应,呵呵。

第六步,找到Lesson16View.h中如下代码,删除掉或者屏蔽掉它。


LRESULT OnPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{CPaintDC dc(m_hWnd);//TODO: Add your drawing code herereturn 0;
}

第七步,在Lesson16View.h中加入如下代码。


LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{double *pX, *pY;int i;if(m_ChartWnd.Attach(m_hWnd, kTypeXY)){pX=new double[200];pY=new double[200];for(i=0; i<200; i++){pX[i]=(i-100.0)/100.0;pY[i]=pX[i]*pX[i];}m_ChartWnd.GetChart()->AddCurve(pX, pY, 200);delete []pY;delete []pX;m_ChartWnd.GetChart()->SetTitle(_TEXT("在WTL框架中测试CChart"));}return 0;
}
LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{m_ChartWnd.Detach();return 0;
}

完成了!编译并运行程序,效果如图。

在WTL中编程总的感觉和用Win32 Application向导差不多,同学们觉得呢?

上面笨笨采用的是CChartWnd类编程,同学们可以试着改用CChart类完成。

深入浅出CChart 每日一课——第十六课 实习之旅,百年老店之新锐WTL相关推荐

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

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

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

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

  3. NeHe OpenGL教程 第三十六课:从渲染到纹理

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

  4. NeHe OpenGL第四十六课:全屏反走样

    NeHe OpenGL第四十六课:全屏反走样 全屏反走样 当今显卡的强大功能,你几乎什么都不用做,只需要在创建窗口的时候该一个数据.看看吧,驱动程序为你做完了一切.   在图形的绘制中,直线的走样是非 ...

  5. OpenGL教程翻译 第二十六课 法线纹理

    第二十六课 法线纹理 背景 我们之前使用的光照技术还算不错,光线在模型表面得到了很好的插值,为场景营造出真实感.但是这种效果还能够有非常大的提升.事实上,我们以前使用的这种插值方式在某种程度上来说是对 ...

  6. 《深入浅出DPDK》读书笔记(十六):DPDK应用篇(基于DPDK的存储软件优化:SPDK)

    Table of Contents 基于DPDK的存储软件优化 180.基于以太网的存储系统 181.以太网存储系统的优化 SPDK介绍 182.SPDK介绍 (1)兼容性 (2)性能 183.用户态 ...

  7. 量化交易 第十六课 单因子有效性分析之收益率分析

    第十六课 单因子有效性分析之收益率分析 概述 因子收益率 因子收益率计算 计算数值结果 分为数分组结果 因子在周期内的平均收益率 概述 我们需要通过分析因子的收益率来确定因子在不同股票位置上的表现. ...

  8. NeHe OpenGL教程 第二十六课:反射

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

  9. 深入浅出CChart 每日一课——快乐高四第十四课 枝头红杏,Win32标准控件ChartCtrl之围城

    本节课笨笨继续介绍ChartCtrl控件在DuiLib中的应用. 请大家先复习高四第三课. 本节课的方法和这一课的方法差不多,由于笨笨提供了ChartCtrl这个新工具,所以编程可以有一定的简化. 首 ...

最新文章

  1. HDU - 1269迷宫城堡 -强连通tanjar算法
  2. 【Junit】BeforeClass、Before、After、AfterClass
  3. 【单片机】以输出方波为例的 定时器使用
  4. java 大特性_java三大特性
  5. macosx php环境,MacOSX环境下MAMP安装配置PHP的开发环境
  6. 抢票加速包的钱都白花了?铁总:第三方抢票软件已被限制
  7. 如何使用webrtc 一
  8. QT每日一练day16:QMessageBox消息对话框
  9. mysql中null与“空值”的坑
  10. 在linux中查看服务,linux中怎么查看服务状态
  11. css 纯颜色叠加,CSS颜色叠加
  12. android虚拟机获取root权限,Android虚拟机获取root权限
  13. 景深决定照相机什么特性_什么是景深?
  14. 微波射频学习笔记9--------品质因数Q值的意义
  15. 史上最狠的十二星座分析
  16. 【论文阅读】Improving Table Structure Recognition with Visual-Alignment Sequential Coordinate Modeling
  17. Python基础——np.where
  18. Python 三维网格体素化
  19. 华中科技大计算机全国排名,2017华中科技大学全国排名第几
  20. SOLIDWORKS: Mold Design SOLIDWORKS:模具设计 Lynda课程中文字幕

热门文章

  1. 问题来了:哪个AI公司会签下张学友当代言人?
  2. 很遗憾AI还不能审查出儿童性侵录像:沙漠也被当成小黄片
  3. SSH密钥对登录的原理和实践
  4. 使用idea导入文件夹作为项目时,在项目中的文件夹可能会被隐藏
  5. CentOS7-Python系列】之一【python-devel教训】
  6. mysql 服务意外停止1067错误解决办法小结
  7. win8.1远程桌面连接2008显示正在加密远程连接
  8. web前端开发 —— 一个对联效果
  9. 【转】php需要掌握的东西
  10. 当心异步刷新后的脚本文件加载