看了两天的WinCE大排档,norains写的,总感觉懂得了点什么又感觉没有,还是写点东西让这种模模糊糊的感觉变得真实和确切点吧。

第一章norians主要就讲了个建立一个空的窗口,用WinCE建以前我也学过,主要就是CreateWindowEx这个函数的几个参数的配置,还有对于注册表的封装,在WinCE中实现对注册表的读写操作,将这些写起来比较复杂的函数封装成一个个简单的直接调用的函数。

第二章内容讲的有点多,首先是对CMemDC进行封装,这样用缓存DC的时候更加方便。然后讲了一个iPhone手势滑动的特效,这个跟我之前做的文件浏览器的滑动过程相似,但他用的WinCE区别在于继承了CMemDC,自定义消息响应函数。接着是CImager的封装简化,利用DirectDraw,调用CoInitializeEx初始化创建一个ImageFactory,然后读取图片文件并转化为Stream,结合这两者创建合适的Decoder(解码器),CreateImageDecoder,创建成功后必须TerminateDecoder,接下来就可以对解码器就行初始化,然后开始解码,这个解码和结束解码的操作都是固定的,注意在绘制Gif文件的时候还需要创建一个线程用来动态显示,然后在线程中打开文件,设置当前帧,,获取当前帧所需要的延迟时间,并且Sleep(),以及要知道获取帧的总数,如果当前帧大于总数,则从0开始记。

还讲了一个BMP文件的保存,这个以前我也学过一点,BMP文件的组成是有三个部分,文件头信息、图片信息、数据。我们按照这三个部分信息参数给他赋值就能显示BMP文件,不过有一点区别是以前说BMP文件的点是从左下角开始绘画到右上角结束,而这里似乎不需要这样,还有对于计算文件头信息时的bfSize,需要将点的个数分成4的倍数,即(picWidth * 3+3)/4 *4这样即可,我觉得norains的算法有点复杂。

最后讲到了一个半透明的效果,这里有一个关键的函数是::AlphaBlend(memDC.GetDC(),0,0,sizeMemDC.cx,sizeMemDC.cy, hdcBmp,0, 0,WND_WIDTH, WND_HEIGHT,blendFunction);

第三章首先说了一个录音的封装,WAV格式的文件有4大块,RIFF WAVE、Format、Fact和Data,文件头的信息由一个WriteFileHeader完成,然后是waveInOpen,初始化录制缓存,然后waveInStart(开始录制),然后通过回调函数接收消息,将录制的声音数据保存到文件中,最后是停止录制。

WinCE 大排档第一篇相关推荐

  1. wince大排档学习

    norains相对我辈来说是个大家,专业人士.他的书籍对我帮助很大.现列出一些资源,这些大多是他本博客的内容.先表示感谢. <Windows CE大排档>源代码 http://blog.c ...

  2. 属于窄带噪声的是热噪声_时钟201系列: 非相位噪声的情况 (第一篇)

    欢迎来到Silicon Labs(亦称"芯科科技")的新系列博客文章"时钟201"的第一篇内容-非相位噪声的情况-第一部分.我们之前的系列博文"时钟1 ...

  3. linux的自定义input,Linux Input子系统之第一篇(input_dev/input_handle/input_handler)

    Input子系统是linux kernel中与部分外围器件驱动联系比较紧密的模块,常用于Sensor,TP(touch panel),power key等器件的驱动.这类模块有个共同特点:字符设备,且 ...

  4. 第一篇文章,做个纪念

    第一篇文章,做个纪念,这个blog好吗?拭目以待! 转载于:https://blog.51cto.com/197536/88241

  5. 《Ansible权威指南 》一 第一篇 Part 1 基础入门篇

    本节书摘来自华章出版社<Ansible权威指南 >一书中的第1章,第1.1节,李松涛 魏 巍 甘 捷 著更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第一篇 ...

  6. 研究生第一篇科研论文常犯问题总结

    ↑ 点击蓝字 关注视学算法 作者丨喻海良,中南大学教授,博士生导师 来源|http://blog.sciencenet.cn/blog-117889-1018759.html 极市导读 本文作者为中南 ...

  7. Webpack系列-第一篇基础杂记

    系列文章 Webpack系列-第一篇基础杂记 Webpack系列-第二篇插件机制杂记 Webpack系列-第三篇流程杂记 前言 公司的前端项目基本都是用Webpack来做工程化的,而Webpack虽然 ...

  8. 蒟蒻的第一篇博客CF1041C Coffee Break(二分+贪心+set)

    CF1041C Coffee Break(二分+贪心+set) 描述 Recently Monocarp got a job. His working day lasts exactly mm min ...

  9. Spotify敏捷模式详解三部曲第一篇:研发团队

    本文转自:Scrum中文网 引言 2018年4月,来自北欧瑞典的音乐流媒体公司.百亿美元独角兽Spotify创造了历史,它成为了当代上市公司当中,第一家通过"直接上市"的方式在美国 ...

最新文章

  1. Windows下Unity5x创建和打开游戏工程
  2. 顶级风投First Round Capital对创业者的30个建议
  3. 三维重建7:Visual SLAM算法笔记
  4. mysql数据库及应用_mysql数据库介绍及应用
  5. 交替领先的赛跑(洛谷P1568题题解,Java语言描述)
  6. 英文c语言笔试题,关于C语言模拟笔试题
  7. WannaCry反思:传统安全理念遭遇马奇诺防线式溃败
  8. JavaScript:执行机制
  9. 第三十一篇 玩转数据结构——并查集(Union Find)
  10. 10亿级流数据交互查询,为什么抛弃MySQL选择VoltDB?
  11. Java对List集合排序
  12. 《第一行代码》完结篇
  13. kindeditor 编辑器手机访问默认为HTML编辑
  14. 零基础CSS入门教程(24)–内联/内部/外部样式
  15. matlab如何用二分法求函数零点,用二分法求函数的零点及二分法定义
  16. 计算机一级高级办公软件,计算机一级与高级办公软件
  17. 获取每日 联想电脑 开机锁屏壁纸
  18. 直销银行二三事之对公业务
  19. 关于html中锚点功能的使用
  20. C++ 汇编代码分析——递归函数调用、浮点数比较、选择语句

热门文章

  1. Nodejs——setInterval设置停止的次数和时间
  2. H5初识,应用canvas实现一个简单的七巧板图形
  3. 为什么是扭扭歪歪的YII
  4. 《三打白骨精》观后感
  5. 如何用Python做一个游戏防沉迷程序
  6. jQuery - 删除元素
  7. win7专业版系统汉化
  8. 销售管理系统如何提升企业销售业绩?
  9. 船长喝酒问题--Java实现
  10. 百练noi 22:神奇的幻方