第一部分 基础
第1章 Pocket PC环境概述
1.1 基本用户界面
1.2 Windows CE的体系结构
1.3 GWE子系统的内部结构
1.4 图形设备接口述评
1.5 Windows程序的逻辑设计
1.5.1 程序中的消息处理
1.5.2 更新窗口客户区
1.6 总结
第2章 一个典型的Pocket PC程序
2.1 Windows CE程序的特性
2.2 用TCHAR进行机器可移植的字符串处理
2.3 简单Windows程序的概貌
2.4 通用Windows程序逻辑
2.5 一个典型的Windows程序
2.5.1 完整的WinMain清单
2.5.2 对WnMain的逐行分析
2.5.3 完整的WinProc清单
2.5.4 逐行分析WinProc
2.6 把程序转换到Windows CE下执行
2.6.1 对WinMain要素的修改
2.6.2 对WinMain修改的讨论
2.6.3 带注释的修正过的WinMain要素的代码清单
2.6.4 对WinProc要素的修改
2.6.5 对WinProc修改的讨论
2.6.6 带注释的修正过的WinProc要素的代码清单
2.7 简单Windows程序的设计分析
2.8 总结
2.9 Web上的样本程序
第3章 一个易于测试的小型Pocket PC程序
3.1 小型Pocket PC程序的用户界面
3.2 小型Pocket PC程序的设计
3.3 介绍消息分析器的魔力
3.4 使用消息分析器向导
3.5 小型对话框程序的实现
3.5.1 对话框和菜单资源模板探讨
3.5.2 DlgMain中的WinMain方法探讨
3.5.3 DlgProc方法探讨
3.5.4 消息处理函数研究
3.5.5 评估Portability Utils元素
3.5.6 考虑DataMgr元素
3.6 使用这个对话框程序初始化一个桌面程序
3.7 重定位桌面程序到Pocket PC
3.8 分析这个小型对话框程序的设计
3.9 总结
3.10 Web上的样本程序
第二部分 绘图与春色
第4章 使用图形绘制图像
4.1 简单动画程序的图形用户界面
4.2 使用图形绘制图像
4.2.1 使用绘制工具箱
4.2.2 可用的画笔和刷子风格
4.2.3 绘制操作
4.2.4 裁减操作
4.2.5 显示图像
4.2.6 强制进行应用程序窗口重绘
4.2.7 在应用程序中使用定时器
4.3 在应用程序设计中使用封装
4.4 简单动画程序的实现
4.4.1 回顾DlgProc方法
4.4.2 研究消息处理函数体
4.4.3 评估DrawOps元素
4.5 封装效果分析
4.6 总结
4.7 Web上的样本程序
第5章 实现一个绘图程序
5.1 使用橡皮筋绘制
5.1.1 加入消息处理函数声明及处理函数体
5.1.2 声明必要的静态变量以支持绘制
5.1.3 实现消息处理函数体以管理绘制
5.1.4 修改绘制处理函数以支持擦除和绘制
5.2 字符输入与回显
5.2.1 实现文本函数封装
5.2.2 加入变量以维护文本输入状态和文本字符串
5.2.3 定义自定义的WM-POSTITIONCARET消息
5.2.4 集成字符相关消息的处理
5.2.5 实现WM-KEYDOWN消息处理函数
5.2.6 更新WM-LBUITONDOWN消息处理函数
5.2.7 实现WM-CHAR消息处理函数
5.2.8 实现WM-POSITIONCARET消息处理函数
5.2.9 在WM-PAINT消息处理函数中显示文本字符串
5.2.10 设计/实现方法简评
5.3 总结
5.4 Web上的样本程序
第6章 使用位图进行图像处理
6.1 实现一个图像处理程序
6.1.1 介绍图形用户界面
6.1.2 程序操作与组织分析
6.1.3 实现图像处理程序
6.2 使用BitmapUtilities开发一个启动画面
6.2.1 介绍图形用户界面
6.2.2 描述该程序的内部操作
6.2.3 实现启动画面程序
6.3 使用BitmapUtilities实现位图动画
6.3.1 介绍图形用户界面
6.3.2 实现位图动画程序
6.4 为本章中的程序准备ActiveSync
6.5 总结
6.6 Web上的样本程序
第三部分 小规模空间内的用户友好应用程序
第7章 使用高效率的软件设计
7.1 开发设计原理
7.2 最终的层次化设计
7 3 实现过程
7.4 实际代码分析
7.4.1 实现数据类型管理器DrawObjMgr
7.4.2 实现对象管理器DefaultMgr
7.4.3 在DataMgr中添加变量和访问函数
7.4.4 添加CaretMgr对象
7.4.5 实现UserInputMgr以处理消息
7.4.6 修改DlgProc处理函数以便与UserInputMgr交互
7.4.7 使用弹出式子菜单增强主菜单
7.4.8 更新WM-COMMAND以处理菜单项
7.4.9 添加WM-INITMENUPOPUP处理函数以检查默认值
7.5 设计和实现时的一些注意事项
7.6 总结
7.7 Web上的样本程序
第8章 在图形用户界面中使用内置控件
8.1 在应用程序中使用内置控件
8.1.1 内置控件概述
8.1.2 使用内置控件
8.1.3 一个重要的可移植性问题
8.2 使用一组控件实现对用户友好的输入
8.2.1 使用滚动条和伴随文本框
8.2.2 生成对用户友好的滚动条控件
8.2.3 对用户直接在伴随文本窗口中的输入进行验证
8.3 总结
8.4 Web上的样本程序
第9章 开发复杂用户界面
9.1 拥有复杂用户界面的绘图程序
9.2 使用位图按钮支持层次化区域
9.2.1 使用位图按钮的步骤
9.2.2 使用位图按钮的例子
9.2.3 BitmapButtonMgr一览
9.3 使用选项卡支持层次类别
9.3.1 使用TabPagMgr和标签模板的步骤
9.3.2 使用TabPageMgr的样本程序
9.3.3 选项卡模板实现的回顾
9.4 开发人员最后要考虑的事情
9.5 总结
9.6 Web上的样本程序
第10章 维护应用程序参数
10.1 采用层次化设计管理参数
10.2 选择目标存储格式
10.3 定制参数数据库管理器的步骤
10.4 定制参数数据库管理器的例子
10.4.1 定义参数数据库的记录结构
10.4.2 为每个参数定义默认记录
10.4.3 利用函数与参数数据库交互
10.5 遍历各层的代码
10.6 根据目标格式确定底层实现方式
10.7 总结
10.8 Web上的样本程序
第四部分 系统程序设计
第11章 多线程应用和同步
11.1 线程的使用和滥用
11.1.1 线程的状态
11.1.2 调度线程执行
11.1.3 线程优先级和优先级管理
11.1.4 演示线程优先级的效果
11.2 对同步问题的介绍
11.2.1 同步问题的解决方案
11.2.2 一些设计细节的回顾
11.3 实现线程同步
11.3.1 创建线程
11.3.2 实现主线程
11.3.3 实现子线程
11.3.4 创建同步对象
11.3.5 等待步骤完成
11.3.6 发出步骤完成的信号
11.3.7 等待子线程
11.4 总结
11.5 Web上的样本程序
第12章 应用COM组件
12.1 组件对象模型体系结协
12.2 用ATL创建COM组件
12.2.1 使用ATL COM AppWizard产生一个ATL COM对象
12.2.2 使用ATL Object Wizard插入一个新的ATL对象
12.2.3 使用Add Method to Interface引导程序添加应用方法
12.2.4 生成应用程序特有的方法程序体
12.3 分析ATL COM组件
12.3.1 类的声明
12.3.2 类的程序体
12.3.3 全局方法和对象
12.3.4 接口定义语言文件
12.3.5 注册表脚本
12.4 创建COM客户
12.4.1 建立COM对象接口
12.4.2 编制COM对象接口程序
12.5 在Pocket PC上注册COM服务器
12.6 总结
12.7 Web上的样本程序