关于本书
本书适合的读者
先决条件
教程概述
开始
使用本书准备认证考试
微软认证专业人员程序
技术支持
关于作者
第1章 为应用程序的开发作准备
第一课:使用Microsoft解决方案框架定义解决方案
微软解决方案框架(MSF)概貌
使用MSF开发团队模型
使用MSF开发过程模型
使用MSF应用程序模型
使用MSF设计过程模型
开发桌面系统应用程序
小结
第二课:安装Visua1 C++开发工具
安装Microsoft Visual C++
安装选项
普通工具
完成安装
小结
实验一:介绍STUpload应用程序
用户需求
设计一个解决方案的步骤
STUpload应用程序
复习题
第2章 Visual C++开发环境
第一课;创建一个MFC工程
工程,配置和工作空间
创建一个新工程
使用AppWizard
小结
第二课:探索开发环境
Visual C++用户界面
菜单和工具栏
设定环境选项
获取帮助
工程配置选项
建立工程
小结
第三课:源代码控制
使用Visual SourceSafe建立源代码控制
设置一个VSS数据库
将MyApp工程放到源代码控制中
使用VSS Explorer
源代码控制配置
重用Visud SourceSafe文件
查看版本历史
将一个VSS工程存档
小结
实验二:创建STUpload开发工程
复习题
第3章 使用测MFC开发应用程序
第一课:MFC简介
MFC和Win32 API
Win 32平台的考虑
MFC类层次结构
查看MFC对象层次
MFC的分类
MFC DLL
小结
第二课:Win 32应用程序体系结构
Windows应用程序基础
创建一个Win32应用
小结
第三课:MFC应用程序框架
MFC应用程序体系结构
应用程序框架消息处理
小结
第四课:文档/视图结构
文档和视图
使用文档/视图结构的好处
单文档和多文档应用
文档/视图结构中的对象
实现显示、打印和打印预览的体系结构
小结
实验三:显示应用程序数据
复习题
第4章 创建用户界面
第一课:Windows应用程序用户界面
应用程序和文档图标
修改应用程序菜单
添加快捷键
编辑应用程序工具栏
处理菜单和工具栏选择事件
动态更新菜单和工具栏命令
写状态栏
小结
第二课:创建对话框
对话框
对话框的类型
创建一个对话框模板
创建并使用一个对话框类
通用对话框类
小结
实验四:创建STUpload用户界面
编辑STUpload应用程序菜单
添加新的快捷键
编辑STUpload应用程序工具栏
创建STUpload应用程序对话框
使用通用对话框
复习题
第5章 实现应用程序行为
第一课:对话框编程
对话框数据交换和校验
使用0nInitDialog()初始化控件
处理控件消息
使用对话框编辑应用程序数据
实现属性页
小结
第二课:显示和打印应用程序数据
理解坐标映射
滚动视图
在设备上下文中绘图
打印的处理过程
打印预览
小结
第三课:使用多线程
多线程应用程序
MFC的多线程:CWinThread类
创建一个工作者线程
线程同步
小结
第四课:上下文相关帮助
WinHelp
帮助系统的开发环境
源代码的组成
创建帮助主题
HTML帮助
小结
实验五:增强STUpload的数据显示
显示Select Fund对话框
在基金列表中显示基金名称
处理Select Fund对话框的控件通知消息
使Select Fund对话框成为最前端窗口
显示STUpload应用程序数据
复习题
第6章持久性数据
第一课:文件I/0
CFile类
打开和关闭文件
读写文件
小结
第二课:应用程序数据的序列化
MFC对序列化提供的支持
序列化应用程序数据
建造一个可序列化类
序列化MFC集合类
小结
第三课:访问注册表
注册表数据
MFC对注册表的支持
处理应用程序用户配置文件设置
Win32 API中的注册表支持
小结
实验六:使用持久性数据
从一个文本文件中导入数据
实现STUpload序列化
复习题
第7章 添加数据库支持
第一课:使用Visual C++进行数据访问
数据访问接口
使用0DBC数据源管理器
关系数据库概念
结构化查询语言
小结
第二课:MFC数据库支持
MFC数据库类
使用ApppWizard创建一个数据库应用程序
过滤一个记录集
小结
第三课:ADO介绍
使用ADO的优点
ADO对象模型
使用ADO数据控件
小结
实验七:查询一个数据库
实现Query对话框
实现Query Results对话框
处理Query Database菜单命令
复习题
第8章 组件对象模型介绍
第一课:组件对象模型(CoM)体系结构
使用COM对象
COM接口
GUID
COM注册项
使用CoCreateInstance()创建对象
小结
第二课:接口编排
组件运行环境
编排技术
小结
第三课:调度接口
IDispatch接口
VARIANT数据类型
类型库
双重接口
小结
第四课:线程模型
COM线程模型
线程模型注册表键
小结
第五课:ActiveX控件
Activex控件和容器
Activex控件的特征
小结
实验八:使用0LE/COM对象浏览器
复习题
第9章 创建COM组件
第一课:使用ATL创建COM组件
使用ATL
创建一个ATL COM对象
插入一个新的COM组件
为该组件接口添加方法
为组件接口添加属性
实现组件方法
小结
第二课:理解ATL COM组件代码
组件类定义
组件方法的实现
全局入口函数
注册表脚本资源
IDL文件
开发COM组件的其他途径
小结
实验九:创建STUpload数据库访问组件
复习题
第10章 COM客户
第一课:COM客户应用程序
COM服务器头文件
Visual C++对COM提供的编译器支持
小结
第二课:重用COM对象
C++和CoM中的对象重用
包含和聚集
使用ATL实现聚集
小结
实验十:实现UploadStockData组件
创建数据连接文件
实现IUploadStockData接口方法
为STUpload应用程序实现Upload Data命令
复习题
第11章 创建Actives控件
第一课:使用MFC创建ActiveX控件
创建MFC Activex Control工程
定义控件接口
创建属性页
0nDraw()函数
实现控件方法
测试控件
小结
第二课:使用ATL创建ActiveX控件
在ATL COM工程中加入控件
加入属性
加入事件
加人方法
创建属性页
绘制控件
MFC还是ATL?
小结
实验十一:在应用程序中使用ActiveX控件
复习题
第12章 Internet编程
第一课:使用动态HTML
复习Internet,Intranet和HTML
动态HTML
Microsoft WebBrower控件
MFCWeb浏览器风格应用程序
使用ATL创建HTML控件
动态HTML Scriptlet
小结
第二课:创建ActivX文档
使用Activex文档
在Web站点中使用ActiveX文档
创建ActiveX文档服务器
在Web站点上发布ActiveX文档
小结
第三课:Web服务器编程
ISAPI服务器扩展
使用MFC创建赐ISAPI服务器扩展程序
ISAPI过滤器
小结
实验十二:创建ActiveX文档服务器STUpload
复习题
第13章 错误处理、调试和测试
第一课:错误处理
预见程序中的错误
异常(Exception)
记录错误
小结
第二课:COM错误
HRESULT代码
错误事件
小结
第三课:调试
什么是调试器(Debugger)
调试(Debug)版和发布(Release)版
MFC调试宏
小结
第四课:使用集成调试器
断点(Breakpoint)
设置断点
Breakpoints对话框
运行调试器
调试器窗口
单步执行代码
编辑并继续(Edit and Continue)
调试COM组件
小结
第五课:使用Dependency Walker
什么是依赖性(Dependency)
依赖性信息
小结
第六课:使用Spy++
Spy++视图
在Spy++中查看窗口消息
小结
第七课:测试你的应用程序
测试期间的术语
设计测试计划
小结
实验十三:调试STUpload应用程序
在调试器中运行STUpload应用程序
单步跟踪
设置断点
复习题
第14章 发布桌面应用程序
第一课:Windows安装程序
安装程序惯例
编写安装程序的指导思想
卸载程序惯例
添加删除注册表信息
Cabinet文件
注册表文件
小结
第二课:使用InstallShield
安装InstallShield
运行InstallShield指南
加入和移出程序文件
创建Setup.exe
小结
第三课:在客户计算机上注册COM组件
自注册组件
为InstallShield工程添加自注册组件
小结
第四课:发布选项
基于媒体介质发布
基于局域网发布
基于Web发布
发布ActiveX控件
发布注意事项检查表
小结
第五课:Windows的零管理(ZAW)
ZAW特点
Windows Installer
系统管理服务器
零管理工具包
小结
实验十四:打包并发布STUpload应用程序
生成STUpload的发行版本
创建InstallShield工程
添加工程的依赖文件
生成并测试安装程序
复习题
附录1 复习题答案
附录2 词汇表