本书介绍了如何为微软的移动式设备开发完整的应用程序。深入讨论了一系列丰富的在Windows CE操作系统中可重用的接口组件。引导读者体验了有效的软件设计过程,向读者介绍了一系列程序库和工具,可以明显地缩短你的开发时间。除此之外,本书还提供了一系列实际的应用程序,含有可充分利用Pocket PC较小的显示屏幕空间的图形化用户接口,包括绘图与文字处理程序、复杂的用户接口程序、COM组件、嵌入式数据库和多线程体系结构。\r\n\r\n \r\n\r\n \r\n\r\n\r\n
\r\n
第一部分 基础 \r\n\r\n \r\n\r\n 第1章 Pocket PC环境概述 \r\n\r\n \r\n\r\n 1.1 基本用户界面 \r\n\r\n 1.2 Windows CE的体系结构 \r\n\r\n 1.3 GWE子系统的内部结构 \r\n\r\n 1.4 图形设备接口述评 \r\n\r\n 1.5 Windows程序的逻辑设计 \r\n\r\n 1.5.1 程序中的消息处理 \r\n\r\n 1.5.2 更新窗口客户区 \r\n\r\n 1.6 总结 \r\n\r\n \r\n\r\n 第2章 一个典型的Pocket PC程序 \r\n\r\n \r\n\r\n 2.1 Windows CE程序的特性 \r\n\r\n 2.2 用TCHAR进行机器可移植的字符串处理 \r\n\r\n 2.3 简单Windows程序的概貌 \r\n\r\n 2.4 通用Windows程序逻辑 \r\n\r\n 2.5 一个典型的Windows程序 \r\n\r\n 2.5.1 完整的WinMain清单 \r\n\r\n 2.5.2 对WnMain的逐行分析 \r\n\r\n 2.5.3 完整的WinProc清单 \r\n\r\n 2.5.4 逐行分析WinProc \r\n\r\n 2.6 把程序转换到Windows CE下执行 \r\n\r\n 2.6.1 对WinMain要素的修改 \r\n\r\n 2.6.2 对WinMain修改的讨论 \r\n\r\n 2.6.3 带注释的修正过的WinMain要素的代码清单 \r\n\r\n 2.6.4 对WinProc要素的修改 \r\n\r\n 2.6.5 对WinProc修改的讨论 \r\n\r\n 2.6.6 带注释的修正过的WinProc要素的代码清单 \r\n\r\n 2.7 简单Windows程序的设计分析 \r\n\r\n 2.8 总结 \r\n\r\n 2.9 Web上的样本程序 \r\n\r\n \r\n\r\n 第3章 一个易于测试的小型Pocket PC程序 \r\n\r\n \r\n\r\n 3.1 小型Pocket PC程序的用户界面 \r\n\r\n 3.2 小型Pocket PC程序的设计 \r\n\r\n 3.3 介绍消息分析器的魔力 \r\n\r\n 3.4 使用消息分析器向导 \r\n\r\n 3.5 小型对话框程序的实现 \r\n\r\n 3.5.1 对话框和菜单资源模板探讨 \r\n\r\n 3.5.2 DlgMain中的WinMain方法探讨 \r\n\r\n 3.5.3 DlgProc方法探讨 \r\n\r\n 3.5.4 消息处理函数研究 \r\n\r\n 3.5.5 评估Portability Utils元素 \r\n\r\n 3.5.6 考虑DataMgr元素 \r\n\r\n 3.6 使用这个对话框程序初始化一个桌面程序 \r\n\r\n 3.7 重定位桌面程序到Pocket PC \r\n\r\n 3.8 分析这个小型对话框程序的设计 \r\n\r\n 3.9 总结 \r\n\r\n 3.10 Web上的样本程序 \r\n\r\n \r\n\r\n 第二部分 绘图与春色 \r\n\r\n \r\n\r\n 第4章 使用图形绘制图像 \r\n\r\n \r\n\r\n 4.1 简单动画程序的图形用户界面 \r\n\r\n 4.2 使用图形绘制图像 \r\n\r\n 4.2.1 使用绘制工具箱 \r\n\r\n 4.2.2 可用的画笔和刷子风格 \r\n\r\n 4.2.3 绘制操作 \r\n\r\n 4.2.4 裁减操作 \r\n\r\n 4.2.5 显示图像 \r\n\r\n 4.2.6 强制进行应用程序窗口重绘 \r\n\r\n 4.2.7 在应用程序中使用定时器 \r\n\r\n 4.3 在应用程序设计中使用封装 \r\n\r\n 4.4 简单动画程序的实现 \r\n\r\n 4.4.1 回顾DlgProc方法 \r\n\r\n 4.4.2 研究消息处理函数体 \r\n\r\n 4.4.3 评估DrawOps元素 \r\n\r\n 4.5 封装效果分析 \r\n\r\n 4.6 总结 \r\n\r\n 4.7 Web上的样本程序 \r\n\r\n \r\n\r\n 第5章 实现一个绘图程序 \r\n\r\n \r\n\r\n 5.1 使用橡皮筋绘制 \r\n\r\n 5.1.1 加入消息处理函数声明及处理函数体 \r\n\r\n 5.1.2 声明必要的静态变量以支持绘制 \r\n\r\n 5.1.3 实现消息处理函数体以管理绘制 \r\n\r\n 5.1.4 修改绘制处理函数以支持擦除和绘制 \r\n\r\n 5.2 字符输入与回显 \r\n\r\n 5.2.1 实现文本函数封装 \r\n\r\n 5.2.2 加入变量以维护文本输入状态和文本字符串 \r\n\r\n 5.2.3 定义自定义的WM-POSTITIONCARET消息 \r\n\r\n 5.2.4 集成字符相关消息的处理 \r\n\r\n 5.2.5 实现WM-KEYDOWN消息处理函数 \r\n\r\n 5.2.6 更新WM-LBUITONDOWN消息处理函数 \r\n\r\n 5.2.7 实现WM-CHAR消息处理函数 \r\n\r\n 5.2.8 实现WM-POSITIONCARET消息处理函数 \r\n\r\n 5.2.9 在WM-PAINT消息处理函数中显示文本字符串 \r\n\r\n 5.2.10 设计/实现方法简评 \r\n\r\n 5.3 总结 \r\n\r\n 5.4 Web上的样本程序 \r\n\r\n \r\n\r\n 第6章 使用位图进行图像处理 \r\n\r\n \r\n\r\n 6.1 实现一个图像处理程序 \r\n\r\n 6.1.1 介绍图形用户界面 \r\n\r\n 6.1.2 程序操作与组织分析 \r\n\r\n 6.1.3 实现图像处理程序 \r\n\r\n 6.2 使用BitmapUtilities开发一个启动画面 \r\n\r\n 6.2.1 介绍图形用户界面 \r\n\r\n 6.2.2 描述该程序的内部操作 \r\n\r\n 6.2.3 实现启动画面程序 \r\n\r\n 6.3 使用BitmapUtilities实现位图动画 \r\n\r\n 6.3.1 介绍图形用户界面 \r\n\r\n 6.3.2 实现位图动画程序 \r\n\r\n 6.4 为本章中的程序准备ActiveSync \r\n\r\n 6.5 总结 \r\n\r\n 6.6 Web上的样本程序 \r\n\r\n \r\n\r\n 第三部分 小规模空间内的用户友好应用程序 \r\n\r\n \r\n\r\n 第7章 使用高效率的软件设计 \r\n\r\n \r\n\r\n 7.1 开发设计原理 \r\n\r\n 7.2 最终的层次化设计 \r\n\r\n 7 3 实现过程 \r\n\r\n 7.4 实际代码分析 \r\n\r\n 7.4.1 实现数据类型管理器DrawObjMgr \r\n\r\n 7.4.2 实现对象管理器DefaultMgr \r\n\r\n 7.4.3 在DataMgr中添加变量和访问函数 \r\n\r\n 7.4.4 添加CaretMgr对象 \r\n\r\n 7.4.5 实现UserInputMgr以处理消息 \r\n\r\n 7.4.6 修改DlgProc处理函数以便与UserInputMgr交互 \r\n\r\n 7.4.7 使用弹出式子菜单增强主菜单 \r\n\r\n 7.4.8 更新WM-COMMAND以处理菜单项 \r\n\r\n 7.4.9 添加WM-INITMENUPOPUP处理函数以检查默认值 \r\n\r\n 7.5 设计和实现时的一些注意事项 \r\n\r\n 7.6 总结 \r\n\r\n 7.7 Web上的样本程序 \r\n\r\n \r\n\r\n 第8章 在图形用户界面中使用内置控件 \r\n\r\n \r\n\r\n 8.1 在应用程序中使用内置控件 \r\n\r\n 8.1.1 内置控件概述 \r\n\r\n 8.1.2 使用内置控件 \r\n\r\n 8.1.3 一个重要的可移植性问题 \r\n\r\n 8.2 使用一组控件实现对用户友好的输入 \r\n\r\n 8.2.1 使用滚动条和伴随文本框 \r\n\r\n 8.2.2 生成对用户友好的滚动条控件 \r\n\r\n 8.2.3 对用户直接在伴随文本窗口中的输入进行验证 \r\n\r\n 8.3 总结 \r\n\r\n 8.4 Web上的样本程序 \r\n\r\n \r\n\r\n 第9章 开发复杂用户界面 \r\n\r\n \r\n\r\n 9.1 拥有复杂用户界面的绘图程序 \r\n\r\n 9.2 使用位图按钮支持层次化区域 \r\n\r\n 9.2.1 使用位图按钮的步骤 \r\n\r\n 9.2.2 使用位图按钮的例子 \r\n\r\n 9.2.3 BitmapButtonMgr一览 \r\n\r\n 9.3 使用选项卡支持层次类别 \r\n\r\n 9.3.1 使用TabPagMgr和标签模板的步骤 \r\n\r\n 9.3.2 使用TabPageMgr的样本程序 \r\n\r\n 9.3.3 选项卡模板实现的回顾 \r\n\r\n 9.4 开发人员最后要考虑的事情 \r\n\r\n 9.5 总结 \r\n\r\n 9.6 Web上的样本程序 \r\n\r\n \r\n\r\n 第10章 维护应用程序参数 \r\n\r\n \r\n\r\n 10.1 采用层次化设计管理参数 \r\n\r\n 10.2 选择目标存储格式 \r\n\r\n 10.3 定制参数数据库管理器的步骤 \r\n\r\n 10.4 定制参数数据库管理器的例子 \r\n\r\n 10.4.1 定义参数数据库的记录结构 \r\n\r\n 10.4.2 为每个参数定义默认记录 \r\n\r\n 10.4.3 利用函数与参数数据库交互 \r\n\r\n 10.5 遍历各层的代码 \r\n\r\n 10.6 根据目标格式确定底层实现方式 \r\n\r\n 10.7 总结 \r\n\r\n 10.8 Web上的样本程序 \r\n\r\n \r\n\r\n 第四部分 系统程序设计 \r\n\r\n \r\n\r\n 第11章 多线程应用和同步 \r\n\r\n \r\n\r\n 11.1 线程的使用和滥用 \r\n\r\n 11.1.1 线程的状态 \r\n\r\n 11.1.2 调度线程执行 \r\n\r\n 11.1.3 线程优先级和优先级管理 \r\n\r\n 11.1.4 演示线程优先级的效果 \r\n\r\n 11.2 对同步问题的介绍 \r\n\r\n 11.2.1 同步问题的解决方案 \r\n\r\n 11.2.2 一些设计细节的回顾 \r\n\r\n 11.3 实现线程同步 \r\n\r\n 11.3.1 创建线程 \r\n\r\n 11.3.2 实现主线程 \r\n\r\n 11.3.3 实现子线程 \r\n\r\n 11.3.4 创建同步对象 \r\n\r\n 11.3.5 等待步骤完成 \r\n\r\n 11.3.6 发出步骤完成的信号 \r\n\r\n 11.3.7 等待子线程 \r\n\r\n 11.4 总结 \r\n\r\n 11.5 Web上的样本程序 \r\n\r\n \r\n\r\n 第12章 应用COM组件 \r\n\r\n \r\n\r\n 12.1 组件对象模型体系结协 \r\n\r\n 12.2 用ATL创建COM组件 \r\n\r\n 12.2.1 使用ATL COM AppWizard产生一个ATL COM对象 \r\n\r\n 12.2.2 使用ATL Object Wizard插入一个新的ATL对象 \r\n\r\n 12.2.3 使用Add Method to Interface引导程序添加应用方法 \r\n\r\n 12.2.4 生成应用程序特有的方法程序体 \r\n\r\n 12.3 分析ATL COM组件 \r\n\r\n 12.3.1 类的声明 \r\n\r\n 12.3.2 类的程序体 \r\n\r\n 12.3.3 全局方法和对象 \r\n\r\n 12.3.4 接口定义语言文件 \r\n\r\n 12.3.5 注册表脚本 \r\n\r\n 12.4 创建COM客户 \r\n\r\n 12.4.1 建立COM对象接口 \r\n\r\n 12.4.2 编制COM对象接口程序 \r\n\r\n 12.5 在Pocket PC上注册COM服务器 \r\n\r\n 12.6 总结 \r\n\r\n 12.7 Web上的样本程序 \r\n
\r\n
本书循序渐进地为读者介绍了开发Pocket PC应用程序的基础知识. 方法和指南. 全书共由4个部分 12章组成. 第 1部分介绍了有关POCket PC应用程序开发的基础知识, 主要描述了Window CE的体系结构, 介绍了Pocket PC程序的特点, 阐述了设计一个便于测试的Pocket PC程序的方法. 第2部分介绍了有关绘图和图像处理方面的程序设计方法, 涉及使用图形绘制图像. 实现绘图程序的方法以及使用位图进行图像处理等内容. 第3部分介绍了在小型显示空间开发用户友好应用程序的方法, 介绍了一种有效的软件设计方法, 阐述了GUI内部控件的使用方法, 描述了开发复杂的用户界面和维护应用程序参数的方法. 第4部分主要介绍了系统程序设计方法, 涉及多线程应用程序和同步机制. 使用COM组件等内容.
与其他介绍Pocket PC程序设计方面的书籍相比, 本书的特点是:除了介绍程序设计库之外, 还强调了好的软件设计原则, 阐述了与小屏幕空间相关的用户界面设计问题, 为快速实现复杂特性提供了可重用库和工具例出了把库有效地合并到程序中所要遵循的步骤, 演示并清楚地说明了在每个列出的步骤中的示例, 提供了完整和可以实际工作的程序来演示库的使用, 开发了一种能够在桌面上进行调试的软件框架, 它可以通过修改软件的标志位mJ移植到 Pocket PC上.
参加本书翻译的人员有:石柱. 郭晓慧(前言. 第1章和第2章). 任建利(第3章至于第6章), 梁晓明(第7章至第10章), 俞忠东(第11章和第 12章). 全书由俞忠东统稿, 石柱. 俞忠东审校. 限于译校者的水平, 难免存在错误和不当之处, 敬请读者批评指正.
Bruce E. Krell博士是软件开发者.
作者.
软件工程研究生导师.
工业课程开发者和老师, 微软认证讲师.
他所开发的应用程序涉及面很广, 涉及汽车和芯片制造业.
电动车辆控制.
激光系统运行和控制.
心脏病学.
金融和税收会计学以及大型分布式数据库等方面.
几年以来, Krell博士已经先后为许多客户开发了应用程序, 这些客户包括诸如通用汽车公司.
Delco电子公司.
读者须知
对一本书来说, 最没人看的部分也许就是前言. 然而, 本书前言给出了一些非常有用的信息栏目. 因此, 本节的标题将试图吸引读者, 以期读者能够认真阅读本节.
本书的阅读对象
本书的预期阅读对象是那些想学习开发Pocket PC程序的程序员. 此外, 他们还对卓有成效的软件设计. 工具和技术感兴趣, 以便在成本预算内按时交付高质量的产品.
本书的独到之处
本书与其他有关Pocket PC程序设计方面的书籍有着显著的区别, 具体概括如下:
除了介绍程序设计库之外, 还强调了好的软件设计原则.
阐述了与小屏幕空间相关的用户界面设计问题.
为快速实现复杂特性提供了可重用库和工具.
列出了把库有效地合并到程序中要遵循的步骤.
演示并清楚地说明了在每个列出的步骤中的示例.
提供了完整和可实际工作的程序来演示库的使用.
开发了一种能够在桌面上进行调试的软件框架, 它可以通过修改软件的标志
位而移植到POCket PC上.
本书中的每行代码均已在作者开发的商用Pocket PC程序中投入使用. 这些程序代码是在台式 PC程序中经过多年的设计与测试才开发出来, 然后移植到Pocket PC中的.
除了所有这些特征以外, 本书还隐含了许多有关Pocket PC程序设计的暗示. 限制及工作方法. 这些宝贵的智慧是通过上千小时的Pocket PC程序调试积累而来的.
具备了本书中提出的工具. 技术和知识, 读者将能够按期在成本预算内把Pocket PC程序交付给用户市场.
使用本书的先决条件
本书中的几乎每个程序都使用C程序设计语言. 在第12章中, 有关组件对象模型部分的程序是用C+十编写的. 读者不必为了理解这些程序而成为C+十程序设计语言的专家.
因为C++用量很少, 大体上不会影响读者对执行代码的理解.
尽管VB也可以在Pocket PC中使用, 但是VB在Pocket PC中的应用远远没有C语言成熟, 所以在本书中没有使用VB. 为了简化程序设计任务, VB隐藏了大量来自程序员的细节, 这种隐藏极大地限制了程序员的能力.
本书同时还假定读者熟悉嵌人式Visual Studio 3. 0 IDE. 如果读者以前使用Visual Studio 6. 0, 那么使用嵌入式的Visual Studio 3. 0就不成问题了. 除了在必要之处对特殊的相关程序设计特征进行说明以外, 本书中不包含任何关于嵌人式Visual Studio 3. 0的指导材料.
注意
纵观全书, 读者会发现许多称之为“注意”的特殊格式区域. 下面是一个“注意”的示例:
注意
注意包含了一些特殊的重要信息, 这些信息需要引起读者足够的重视.
“注意”通常是一些需要读者记住或理解的要点. 类似的还有“提示”和“警示”.
目标测试平台
本书中所有的样本程序和库都在使用Visual Studio 6. 0的台式PC机上以及Casio Cas-siopeia EM-sop(绰号“葡萄”)上进行了充分测试. 在Pocket PC的测试期间, 使用嵌人式的Visual Studio 3. 0以及Pocket PC2002 SDK(系统设计成套工具)作为重定位库.
注意
尽管程序在测试用Pocket PC上运行无误, 但仍有可能在你的Pocket PC上无法运行. 每个硬件供应商都使用一个称之为平台建造者Platform Builder的程序对Windows CE操作系统进行裁剪. 裁剪的内容包括应用程序的SDK.
在本书的测试过程中, 笔者发现大量本应在Pocket PC上正常运行的SDK方法示例甚至无法上确连接. 之所以出现这种情况是因为在裁剪过程中, 供应商Casio决定从支持系统中删除了其中的一些方法
在开发本书的库和样本程序期间, 笔者力求将开发限于最易于实现的特征和性能上. 然而, 有些方面的内容仍然不能在目标平台上运行.
附加程序的特殊之处
在每章的结尾部分, 附有一套对每个程序的完整的说明. 其中包括这些程序的建造. 安装和执行, 并建立所有支持需求的说明. 总之, 一切都力图完整. 为验证这些内容的正确性, 对所有说明都从头进行了测试.
所有程序都可以从本书的Web站点:http://www. osborne. com下载, 这些程序均放在文件夹中, 且每个文件夹都以程序的用途命名. 这种定位方法比传统的方法容易得多, 传统的方法通常是按章节给文件夹命名的.
注意
尽管作者已经力图确保本书文字和演示材料的正确性, 但在如此篇幅的书中通常还会发生一些错误. 最后, 作者应对这些错误负责, 请接受作者因这些错误给读者带来不便而事先表示的歉意.
作者的联系方式
如果有什么问题需要和作者联系, 请发E-mail给BKrell@SWAA-Engineering. com. 作者将很乐意也会竭尽所能地回答有关技术问题.
 |
想看看,这本书中关于如何在PPC上注册一个服务,并使之生效的...
发布于2008-6-30 15:28:26
(0)回应
有1人认为此评论有用, 有1人认为没用,
您认为呢?
|
|
正在读取本评论的讨论,请稍侯……
|
| >>发表评论 >>查看更多评论 |