第1部分 VisualC++基础
第1章 VisualC++入门
1. 1 VisualC++6. 0的新特性
1. 2 HelloWorld1程序
1. 3 HelloWorld2程序
1. 4 HelloWorld3ATL控件
1. 5 小结
第2章 Visual Studio集成开发环境
2. 1 初识Visual Studio集成开发环境
2. 2 创建第一个项目
2. 3 自定义集成开发环境,
2. 3. 1 查看当前快捷键
2. 3. 2 增加. 编辑或删除快捷键
2. 4 使用工具栏
2. 4. 1 显示和隐藏工具栏
2. 4. 2 自定义工具栏
2. 5 小结
第3章 应用程序的调试
3. 1 调试程序应该具备的性能
3. 2 Visual Studio集成调试程序
3. 2. 1 调试前的准备
3. 2. 2 在运行时使用调试程序
3. 2. 3 调试窗口
3. 2. 4 使用断点和单步调试功能
3. 2. 5 使用DataTip信息以及Quick Watch窗口
3. 2. 6 在调试过程中使用Threads和Exceptions对话框
3. 3 简单调试技巧
3. 3. 1 使用消息框提高调试速度
3. 3. 2 调试输出
3. 3. 3 使用断言
3. 3. 4 对象转储
3. 3. 5 检测内存泄漏与CMemoryState类
3. 3. 6 使用MFC跟踪
3. 4 远程调试
3. 5 即时调试
3. 5. 1 编辑并继续调试
3. 5. 2 调试Windows NT服务
3. 6 小结
第4章 改善应用程序性能
4. 1 优化代码
4. 2 配置文件简介
4. 2. 1 应用程序配置文件的基本知识
4. 2. 2 了解Profiler的运行情况
4. 2. 3 配置文件类型
4. 2. 4 设置高级配置文件设置
4. 3 启用生成配置文件功能
4. 3. 1 从开发环境控制配置文件的生成
4. 3. 2 选择需要生成配置文件的函数
4. 3. 3 PREP程序
4. 3. 4 生成函数计时配置文件
4. 3. 5 生成函数范围配置文件
4. 3. 6 行配置文件的选项
4. 3. 7 生成行范围配置文件
4. 3. 8 合并配置文件输出
4. 3. 9 从配置文件导出数据
4. 3. 10 分析配置文件数据
4. 3. 11 全局信息记录
4. 3. 12 局部信息记录
4. 3. 13 分析配置文件的统计数据
4. 3. 14 使用Excel处理Profiler输出
4. 3. 15 生成动态链接库的配置文件
4. 3. 16 生成组件或ActiveX控件的配置文件
4. 3. 17 生成内联代码的配置文件
4. 3. 18 生成多线程应用程序的配置文件
4. 3. 19 生成应用程序性能的配置文件
4. 3. 20 生成WindowsNT服务的配置文件
4. 4 小结
第5章 杂项工具
5. 1 Spy++
5. 2 自定义Tools菜单
5. 3 有关Tools菜单的其他操作
5. 4 浏览类
5. 5 浏览MFC源代码
5. 6 小结
第2部分 Windows编程基础
第6章 MFC编程概述
6. 1 什么是MFC
6. 2 MFC的设计原理
6. 3 MFC的优势
6. 3. 1 众多MFC特性
6. 3. 2 可扩展的体系结构
6. 4 MFC层次结构设计
6. 4. 1 文件服务
6. 4. 2 窗口
6. 4. 3 图形
6. 4. 4 数据库支持
6. 5 MFC的局限
6. 6 小结
第7章 菜单
7. 1 创建和编辑菜单
7. 1. 1 创建菜单
7. 1. 2 MFC中的菜单消息
7. 2 快捷键
7. 2. 1 检查键盘输入
7. 2. 2 定义快捷键
7. 2. 3 选择适当的快捷键
7. 2. 4 多个快捷键表
7. 3 动态更改菜单
7. 3. 1 菜单命令范围
7. 3. 2 在运行时更改菜单
7. 3. 3 更改现有弹出菜单
7. 3. 4 永久及临时句柄映射
7. 4 快捷菜单
7. 5 小结
第8章 鼠标和键盘
8. 1 输入及系统状态
8. 2 鼠标输入
8. 2. 1 创建鼠标消息处理程序
8. 2. 2 屏幕坐标和窗口坐标之间的转换
8. 3 创建处理鼠标事件的MFC程序
8. 3. 1 非客户鼠标事件
8. 3. 2 更改光标
8. 4 创建更改鼠标指针的MFC演示程序
8. 4. 1 捕获鼠标
8. 4. 2 限制鼠标移动
8. 5 键盘输入
8. 5. 1 物理键盘
8. 5. 2 回显键盘焦点
8. 6 小结
第9章 图形
9. 1 图形设备接口
9. 1. 1 图形类型
9. 1. 2 GDI设备类型
9. 2 设备上下文
9. 2. 1 设备上下文绘图属性
9. 2. 2 WM PAINT消息
9. 2. 3 绘制坐标
9. 2. 4 触发WlVl PAINT消息
9. 2. 5 响应WM PAINT之外的消息进行绘制
9. 3 处理文本
9. 3. 1 GDI颜色支持
9. 3. 2 文本颜色
9. 3. 3 对齐文本
9. 3. 4 调整文本
9. 4 字体
9. 4. 1 什么是字体
9. 4. 2 将对象选入设备上下文
9. 4. 3 选择常备字体
9. 4. 4 选择非常备字体
9. 5 钢笔和画刷
9. 5. 1 钢笔
9. 5. 2 画刷
9. 6 映射模式
9. 7 光栅操作
9. 7. 1 文本绘图函数
9. 7. 2 文本坐标的计算
9. 8 剪取区域
9. 9 小结
第10章 位图. 调色板. DIB以及双缓存
10. 1 位图内存和显存
10. 2 创建CBitmap对象
10. 3 加载和设置位图内容
10. 4 将CBitmaps绘制到屏幕上
10. 5 光栅操作
10. 6 BlitDemo程序
10. 7 调色板和颜色
10. 7. 1 逻辑调色板
10. 7. 2 调色板事件
10. 7. 3 SetSystemPaletteUse()函数
10. 8 设备无关位图
10. 8. 1 设备无关位图文件剖析
10. 8. 2 CDib类
10. 8. 3 ShowDIB演示程序
10. 9 双缓存
10. 10 小结
第11章 MFC异常处理
11. 1 结构化异常处理
11. 2 异常处理语法
11. 2. 1 抛出异常
11. 2. 2 捕获异常
11. 3 错误处理技巧
11. 3. 1 处理错误代码
11. 3. 2 在正确位置中处理错误
11. 3. 3 提高代码可读性
11. 3. 4 从构造函数中抛出异常
11. 4 CException类
11. 4. 1 创建和删除CException对象
11. 4. 2 从CException对象中检索错误信息
11. 4. 3 捕获多种异常类型
11. 5 定义CException派生类
11. 5. 1 CFileException类
11. 5. 2 CFileException演示程序
11. 5. 3 自定义CException派生类
11. 6 高级异常处理技术
11. 6. 1 确定应该捕获异常的函数
11. 6. 2 放置在try块中的代码
11. 6. 3 放置在catch块中的代码
11. 6. 4 从虚函数中抛出异常
11. 7 小结
第12章 控件
12. 1 控件的背景
12. 2 创建控件
12. 2. 1 CButton类
12. 2. 2 CListBox类
12. 2. 3 CEdit类
12. 2. 4 CStatic类
12. 2. 5 CScrollBar类
12. 2. 6 CComboBox类
12. 3 Mini Editor程序
12. 4 高级控件编程
12. 4. 1 添加一个键盘接口
12. 4. 2 修改控件行为
12. 4. 3 位图按钮
12. 4. 4 更改控件的颜色
12. 5 小结
第13章 模态和非模态对话框
13. 1 使用对话框编辑器
13. 1. 1 对话框模板
13. 1. 2 创建新的对话框模板
13. 1. 3 编辑对话框模板
13. 1. 4 测试对话框
13. 2 CDialog类
13. 2. 1 模态与非模态对话框
13. 2. 2 使用ClassWizard创建CDialog派生类
13. 3 对话框数据交换和校验
13. 3. 1 创建DDX变量
13. 3. 2 DoDataExchange和UpdateData函数
13. 4 AddressBook演示程序
13. 4. 1 编辑演示程序的对话框
13. 4. 2 CContact类
13. 4. 3 重写OnlnitDialog函数
13. 4. 4 处理WM DESTROY消息
13. 4. 5 显示数据
13. 4. 6 处理按钮通知
13. 4. 7 建立和测试演示程序
13. 5 在对话框中派生控件类
13. 5. 1 创建控件类
13. 5. 2 AddressBook演示程序:CAutoCompleteComboBox
13. 6 串行化
13. 6. 1 使每个类可串行化
13. 6. 2 实现Serialize()虚函数
13. 6. 3 从磁盘中读取数据
13. 6. 4 将数据保存到磁盘
13. 6. 5 给AddressBook演示程序添加串行化
13. 7 小结
第14章 属性表和属性页
14. 1 CPropertySheet和CPropertyPage类
14. 1. 1 创建属性页资源
14. 1. 2 创建CPropertyPage类
14. 1. 3 创建和显示模态的CPropertySheet
14. 1. 4 创建和显示非模态的CPropertySheet
14. 1. 5 在一个现有对话框内创建和显示属性表
14. 2 模态属性表演示程序
14. 3 属性表和属性页提示和技巧
14. 3. 1 删除标准按钮
14. 3. 2 重定位标准按钮
14. 3. 3 更改标准按钮的标题
14. 3. 4 禁用选项卡
14. 3. 5 重新启用属性页
14. 3. 6 动态设置CPropertyPage选项卡标题
14. 3. 7 更改选项卡的字体
14. 3. 8 使用CPropertyPage选项卡助记符
14. 4 小结
第15章 数据I/O
15. 1 CString类
15. 1. 1 创建字符串
15. 1. 2 访问字符串数据
15. 1. 3 比较运算
15. 1. 4 抽取子串
15. 1. 5 搜索
15. 2 StringDcmo程序
15. 3 CFile类
15. 4 FileDemo程序
15. 5 CCompressedFile类
15. 6 CompressDemo程序
15. 7 数据压缩
15. 7. 1 CCompressedFile类函数
15. 7. 2 CompressDemo内幕
15. 8 用于串行通信的CSerial类
15. 8. 1 CSerial类
15. 9 CRegistry类
15. 9. 1 注册表值
15. 9. 2 预定义的注册表键
15. 9. 3 常用注册表键
15. 9. 4 CRegistry类的使用
15. 10 剪贴板
15. 11 小结
第16章 声音
16. 1 播放录制好的声音
16. 1. 1 CWavc类简介
16. 1. 2 使用Windows API播放波形文件
16. 1. 3 CWave类函数
16. 2 WaveDemo程序
16. 3 播放MIDI文件
16. 3. 1 什么是MIDl
16. 3. 2 CMidi类简介
16. 3. 3 CMidi类函数
16. 4 MIDIDemo程序
16. 5 音乐CD
16. 5. 1 CCDAudio类库简介
16. 5. 2 媒体控制接口
16. 5. 3 CCDAudio类函数
16. 6 CDPIayer程序
16. 7 小结
第17章 计时器和Onldle循环处理
17. 1 计时器
17. 1. 1 用WM TIMER设置计时器
17. 1. 2 用一个回调过程设置计时器
17. 2 时钟演示程序
17. 3 CWinApp的Onldle能力
17. 4 OnldleDemo程序
17. 5 小结
第3部分 体系结构
第18章 内存管理
18. 1 进程私有内存
18. 1. 1 分配页
18. 1. 2 编译器内存分配
18. 1. 3 Win32私有堆
18. 2 共享内存
18. 2. 1 内存映射文件I/O
18. 2. 2 动态分配共享页
18. 2. 3 静态分配共享页
18. 3 小结
第19章 文档. 视图和单文档界面
19. 1 文档/视图设计
19. 2 CDocument类
19. 2. 1 在应用程序内声明文档类
19. 2. 2 CDocument的成员函数
19. 2. 3 文档和消息处理
19. 2. 4 重写虚文档函数
19. 2. 5 使用复杂文档数据
19. 2. 6 使用CCmdTarget和CDocltem的好处
19. 3 Initlnstance函数对文档的重要性
19. 3. 1 应用程序如何管理文档和视图
19. 3. 2 CSingleDocTemplate类
19. 3. 3 框架窗口
19. 3. 4 文档模板资源
19. 3. 5 字符串资源如何影响文档模板
19. 3. 6 分离字符串资源
19. 3. 7 常备视图资源
19. 3. 8 考虑文档模板生存周期
19. 3. 9 模板的高级用法
19. 3. 10 使用多个模板
19. 3. 11 销毁用AddDocTernplate()成员函数添加的文档
19. 4 CView类
19. 4. 1 声明视图类
19. 4. 2 分析CView成员函数
19. 4. 3 视图和消息
19. 4. 4 CView类的MFC派生变形
19. 4. 5 CForm视图与基于对话框的应用程序
19. 4. 6 返回框架窗口
19. 4. 7 AfxGetMainWnd()的角色
19. 5 HexView应用程序
19. 6 小结
第20章 多文档界面应用程序的布局
20. 1 文档/视图模型
20. 2 CDocument类
20. 3 管理文档. 视图和框架窗口的复杂组合
20. 3. 1 使用多文档类型
20. 3. 2 使用文档的多个视图
20. 3. 3 CMDIFrameWnd类
20. 3. 4 CMDIChildWnd类
20. 3. 5 CMultiDocTemplate类
20. 3. 6 使用CDocument类的开销
20. 3. 7 进一步认识MDI应用程序
20. 4 PaintObi程序
20. 5 拆分窗口
20. 5. 1 区分拆分窗口
20. 5. 2 特定于CSplitterWnd类的内容
20. 5. 3 动态拆分器
20. 5. 4 在动态窗格中使用不同的视图
20. 5. 5 CRuntimeClass对象
20. 5. 6 对与多个文档关联的视图使用拆分器
20. 5. 7 静态拆分器
20. 5. 8 创建静态拆分器
20. 5. 9 了解共享滚动条
20. 5. 10 确定实际的和理想的尺寸
20. 5. 11 拆分器的性能问题
20. 6 Dynsplit程序
20. 7 为窗口定义子类
20. 7. 1 使用MFC定义窗口子类
20. 7. 2 文档/视图体系结构的替代方案
20. 8 小结
第21章 打印和打印预览
21. 1 Windows API打印机支持
21. 1. 1 打印机信息
21. 1. 2 理解字符特征的重要性
21. 2 PortLand程序
21. 3 使用MFC
21. 3. 1 打印过程中的任务和框架的角色
21. 3. 2 MFC打印序列
21. 3. 3 MFC默认打印方式
21. 3. 4 打印协议
21. 3. 5 取代视图类函数和分页
21. 3. 6 CPrintlnfo类
21. 3. 7 打印机页和文档页
21. 3. 8 实现分页
21. 3. 9 添加帮助函数
21. 3. 10 打印时分页
21. 3. 11 页眉和页脚的打印
21. 3. 12 为打印分配GDI资源
21. 3. 13 扩大打印的图像
21. 4 打印预览体系结构
21. 4. 1 打印预览过程
21. 4. 2 修改打印预览
21. 4. 3 增强应用程序的打印预览
21. 4. 4 CPrintDialog类
21. 5 HexViewMDI程序
21. 6 小结
第22章 高级Windows用户界面的MFC
22. 1 更多的控制
22. 2 理解模态循环
22. 3 RunModalLoop()函数
22. 4 模态循环参数
22. 5 终止模态循环
22. 6 生成模态应用程序
22. 7 创建和关闭模态窗口
22. 7. 1 添加处理程序
22. 7. 2 简单的模态应用程序
22. 8 改进模态窗口
22. 9 在透明客户区域绘制透明位图
22. 9. 1 绘制位图
22. 9. 2 确定粘贴位图的位置
22. 9. 3 兼容的设备上下文
22. 9. 4 BITMAP结构
22. 9. 5 把所有图片叠加在一起
22. 9. 6 确保用户的注意力
22. 10 小结
第23章 状态栏与工具栏
23. 1 创建和使用状态栏
23. 1. 1 创建状态栏
23. 1. 2 自定义状态栏
23. 2 创建和控制工具栏
23. 2. 1 MFC控件栏
23. 2. 2 创建和初始化工具栏
23. 3 ReBar控件
23A 小结
第24章 树视图和列表视图控件
24. 1 CTreeCtrl类
24. 1. 1 树视图控件基础知识
24. 1. 2 CTreeCtrl控件
24. 1. 3 CtreeCtrl演示程序
24. 2 CListCtrl类
24. 2. 1 列表视图基础知识
24. 2. 2 CListCtrl控件
24. 3 小结
第25章 线程
25. 1 线程
25. 1. 1 创建工作者线程
25. 1. 2 线程函数
25. 1. 3 创建用户界面线程
25. 1. 4 挂起和继续执行线程
25. 1. 5 使线程睡眠
25. 1. 6 终止线程
25. 1. 7 从一个线程中终止另一个线程
25. 1. 8 进程优先级类
25. 2 在线程之间共享MFC对象
25. 3 在多线程应用程序中使用C运行函数
25. 4 ThreadDemol程序
25. 5 小结
第4部分 数据库编程
第26章 ODBC
26. 1 ODBC定义和数据库术语
26. 2 ODBC的实现
26. 2. 1 配置ODBC
26. 2. 2 连接到数据源
26. 2. 3 查询数据和数据源
26. 2. 4 准备与执行SQL请求
26. 2. 5 检索数据
26. 2. 6 断开与数据源的连接
26. 3 使用ODBC获取数据
26. 3. 1 为VisualC++项目添加对ODBC的支持
26. 3. 2 修改ODBCDemo对话框
26. 3. 3 添加初始化和数据库代码
26. 4 使用ODBC动态查询数据源
26. 4. 1 CODBCDynamic类声明
26. 4. 2 CODBCDynamic类如何工作
26. 4. 3 使用CODBCDynamic类
26. 5 小结
第27章 MFC数据库类
27. 1 CDatabase对象
27. 2 CRecordset对象
27. 2. 1 构造一个记录集
27. 2. 2 打开一个记录集
27. 2. 3 使用RFX(记录字段交换)读写数据
27. 2. 4 筛选记录
27. 2. 5 排序返回的记录集中的记录
27. 2. 6 在结果集合中移动
27. 2. 7 保存记录
27. 2. 8 删除记录
27. 3 使用MFC数据库类
27. 3. 1 添加对MFC数据库类的支持
27. 3. 2 为演示程序创建用户界面
27. 3. 3 添加工具类封装用户数据
27. 3. 4 为表UserMaster创建CRecordset类
27. 3. 5 修改对话框的头文件
27. 3. 6 修改对话框的实现文件
27. 4 参数化记录集与查询
27. 4. 1 为演示程序创建用户界面
27. 4. 2 创建UserMaster记录集
27. 4. 3 修改CRecordset类以接受参数
27. 4. 4 为应用程序添加查找功能
27. 4. 5 建立应用程序
27. 4. 6 创建参数化查询
27. 4. 7 演示数据库
27. 4. 8 创建权限记录集
27. 5 小结
第28章 DAO数据库编程
28. 1 DAO概览
28. 1. 1 DAO层次结构
28. 1. 2 DAO的多种内部形式
28. 2 MFCDAO类
28. 2. 1 CDaoDatabase类
28. 2. 2 CDaoWorkspace类
28. 2. 3 CDaoRecordset类
28. 2. 4 MFCDAO演示程序
28. 3 小结
第5部分 扩展应用程序的功能
第29章 动态链接库
29. 1 动态链接库概述
29. 1. 1 静态和动态库
29. 1. 2 加载DLl
29. 2 VisualC++常规DLL
29. 2. 1 常规DLL
29. 2. 2 动态加载DLL
29. 2. 3 动态加载DLL的示例
29. 2. 4 Windows异常分支
29. 2. 5 DLL的全局C++对象
29. 3 MFC扩展DLL
29. 3. 1 扩展DLL
29. 3. 2 通过MFC扩展DLL导出类
29. 3. 3 AFX EXT CLASS宏
29. 3. 4 嵌套的MFC扩展DLL
29. 3. 5 导出资源
29. 3. 6 编写在DLL中封装文档和视图的演示程序
29. 4 小结
第30章 添加图像
30. 1 第三方库
30. 2 ImageObject库
30. 2. 1 BMP文件格式
30. 2. 2 GIF文件格式
30. 2. 3 JPEG文件格式
30. 2. 4 TGA文件格式
30. 2. 5 TIF文件格式
30. 3 库加载图像
30. 4 显示图像
30. 5 Display程序
30. 6 缩放. 裁剪和改变颜色深度
30. 7 从设备上下文中创建图像
30. 8 从剪贴板创建图像
30. 9 保存图像
30. 10 图像处理
30. 11 ProcessImage程序
30. 12 小结
第6部分 组件对象模型编程
第31章 ActiveX和ActiveX控件设计
31. 1 各种ActiveX技术
31. 1. 1 自动化服务器
31. 1. 2 自动化控制器
31. 1. 3 定义ActiveX控件
31. 1. 4 组件对象(COM)模型对象
31. 1. 5 ActiveX文档
31. 1. 6 ActiveX容器
31. 2 ActiveX的功能
31. 3 选择ActiveX组件类型
31. 3. 1 自动化服务器和控制器
31. 3. 2 ActiveX控件
31. 3. 3 COM对象
31. 3. 4 使用MFC来创建ActiveX组件
31. 3. 5 使用ActiveX模板库来创建ActiveX组件
31. 3. 6 创建自己的框架
31. 4 基本ActiveX组件体系结构
31. 4. 1 ActiveX自动化服务器
31. 4. 2 ActiveX控件
31. 5 建立ActiveX组件需要的支持工具
31. 5. 1 MIDL编译器
31. 5. 2 RegEdit程序
31. 5. 3 RegistrationServer程序
31. 5. 4 Ole2View程序
31. 5. 5 把工具添加到VisualC++开发环境中
31. 6 用MFC创建一个基本ActiveX控件
31. 6. 1 创建基本的控件项目
31. 6. 2 控件注册
31. 6. 3 创建方法
31. 6. 4 属性
31. 6. 5 创建属性页
31. 6. 6 添加事件
31. 6. 7 持久性
31. 7 标准绘制
31. 8 小结
第32章 使用MFC创建ActiveX自动化服务器
32. 1 创建基本项目
32. 1. 1 给应用程序添加一个自动化接口
32. 1. 2 注册服务器
32. 1. 3 编写样本服务器的支持代码
32. 1. 4 添加方法
32. 1. 5 给服务器添加属性
32. 2 产生OLE异常
32. 2. 1 双接口服务器
32. 2. 2 产生双接口OLE异常
32. 3 用C++进行服务器实例化
32. 3. 1 用C++实例化OLE服务器时的常见问题
32. 3. 2 创建可共享的服务器
32. 3. 3 单一实例服务器
32. 4 小结
第33章 活动模板库
33. 1 ATL概述
33. 2 创建ATL控件
33. 3 将COM对象添加到项目
33. 4 修改CDoublePend包含文件
33. 5 实现接口函数
33. 6 在C++中使用控件
33. 7 数据类型
33. 7. 1 转换BSTR
33. 7. 2 比较BSTR
33. 7. 3 在调试器中查看BSTR的内容
33. 8 在网页中嵌入ActiveX控件
33. 9 小结
第7部分 Internet和HTML编程
第34章 Internet编程
34. 1 CInternetSession类
34. 2 CFtpConnection类
34. 2. 1 从FTP服务器中检索文件
34. 2. 2 将文件发送给FTP服务器
34. 2. 3 其他FTP函数
34. 2. 4 CIntemetFile类
34. 2. 5 CFtpFileFind类
34. 3 FTP程序
34. 4 套接字和CSocket类
34. 4. 1 创建套接字
34. 4. 2 连接到套接字
34. 4. 3 监听一个连接
34. 4. 4 读和写数据
34. 5 Sockets程序
34. 6 SendEmail程序
34. 7 检索HTTP文件
34. 8 AutoDialer程序
34. 9 小结
第35章 CHtmlView类
35. 1 创建一个CHtmlView项目
35. 2 把项目转换为使用CHtmlView类
35. 3 导航CHtmlView类
35. 4 SimpleBrowser程序
35. 5 MultiBrowser程序
35. 6 直接使用Web浏览器控件
35. 7 编写一个记录导航日志的浏览器
35. 8 编写一个阻挡站点的浏览器
35. 9 小结
第36章 动态HTML
36. 1 HTML基础
36. 2 层叠样式表
36. 2. 1 全局样式表
36. 2. 2 样式表语法
36. 3 简单文件查看器
36. 4 事件和对象模型
36. 5 脚本
36. 6 脚本元素
36. 7 改变非文本元素
36. 8 在文档加载时运行脚本
36. 9 编写对话框脚本
36. 10 小结
第8部分 高级VisualStudio技术
第37章 编写VisualStudio脚本
37. 1 VisualStudio宏
37. 1. 1 QuickMacros宏
37. 2 创建VBScript宏
37. 2. 1 VBScript宏
37. 2. 2 编辑VBScript宏
37. 2. 3 创建一个空宏
37. 3 使用VBScript宏
37. 3. 1 加载宏文件
37. 3. 2 运行VBScript宏
37. 3. 3 把宏分配给工具栏
37. 3. 4 把宏分配给按键
37. 4 VBScnpt
37. 4. 1 VBScript编程
37. 4. 2 变量设置
37. 4. 3 常量设置
37. 4. 4 函数和过程
37. 5 DeveloperStudio对象模型
37. 5. 1 访问该对象模型
37. 5. 2 使用Application对象
37. 6 样本应用程序
37. 6. 1 运行样本宏
37. 6. 2 样本宏
37. 7 小结
第38章 编写自定义AppWizard
38. 1 AppWizard的内部工作
38. 1. 1 AppWizard管理器
38. 1. 2 CCustomAppWiz类和Dictionary(字典)
38. 2 创建自定义AppWizard
38. 3 预置项目默认设置演示程序
38. 3. 1 创建SDIAutomationWiz演示项目
38. 3. 2 定义CCustomAppWiz类
38. 3. 3 使用宏字典
38. 4 高级自定义AppWizard
38. 4. 1 添加自定义对话框
38. 4. 2 创建自己的模板
38. 4. 3 更改newproj.inf文件
38. 4. 4 更改ClassWizard文件
38. 4. 5 更改AppWizard模板
38. 4. 6 更改CONFIRM.INF文件
38. 4. 7 为永久性的宏使用注册表
38. 4. 8 更改CAboutWizAppWiz类以使用注册表
38. 5 小结