第1章 C++语言基础
1.1 程序的开始
1.2 利用库文件
1.3 面向对象编程介绍
1.3.1 面向对象编程是如何进行的
1.3.2 面向对象编程的优点
1.3.3 封装、继承和多态性
1.4 编程基本知识
1.4.1 在源文件中要放入的内容
1.4.2 从最基本的程序入手
1.4.3 如何用C++实现显示输出
1.4.4 换行表示法
1.4.5 关于cin
1.4.6 注释
1.4.7 从库里借一个函数
1.5 数据类型
1.5.1 声明变量类型
1.5.2 基本数据类型
1.5.3 其它数据类型
1.5.4 类型安全性
1.5.5 常量
1.6 变量
1.6.1 命名变量
1.6.2 定义变量
1.6.3 变量初始化
1.7 结构
1.7.1 声明结构
1.7.2 结构成员的使用
1.7.3 结构嵌套
1.7.4 结构在程序中的应用
1.8 表达式
1.8.1 运算符
1.8.2 高级运算符
1.8.3 布尔表达式
1.8.4 赋值
1.8.5 复杂表达式
1.8.6 运算符的独立性
1.8.7 位
1.8.8 if条件语句
1.8.9 运算符的运算次序
1.8.10 运算符实例
1.9 C++的流程
1.9.1 if,for和while条件语句
1.9.2 求数的阶乘
1.9.3 其他流程控制关键词
1.10 函数
1.10.1 开放式语句
1.10.2 函数的定义和调用
1.10.3 形参
1.10.4 函数返回值
1.10.5 FACTORIAL程序
1.10.6 缺省初始值
1.11 指针
1.11.1 指针的含义
1.11.2 指针的用途
1.11.3 使用指针的具体例子
1.11.4 C++中如何使用指针
1.11.5 指针的地址
1.11.6 复引用指针
1.11.7 改变指针所指的值
1.11.8 改变结构中的值
1.11.9 指针的简明表示法
1.11.10 new的用法
1.11.11 不要丢失内存中的地址
1.11.12 链表实例
1.11.13 释放内存
1.11.14 删除后的指针
1.11.15 GP错误
1.11.16 字符串与指针
1.11.17 避免使用void*
1.11.18 关于指针的提示
1.12 数组
1.12.1 如何使用枚举
1.12.2 数组
1.12.3 数组元素
1.12.4 数组初始化
1.12.5 字符串数组
1.12.6 多维数组
1.12.7 声明多维数组
1.13 使用域和变量
1.13.1 作用域的安全性
1.13.2 作用域规则
1.13.3 作用域的使用
1.13.4 堆栈
第2章 编写和运行程序
2.1 Hello World 1程序
2.2 使用Visual Studio IDE
2.2.1 创建第一个项目
2.2.2 自定义IDE
2.2.3 使用工具栏
第3章 MFC编程概述
3.1 什么是MFC
3.1.1 MFC的功能
3.2 MFC的设计原理
3.3 MFC使用方面的优势
3.3.1 丰富的特性
3.3.2 可扩展体系结构
3.3.3 MFC层次设计
3.3.4 窗口
3.3.5 图形
3.3.6 数据库支持
第4章 菜单
4.1 创建和编辑菜单
4.1.1 创建菜单
4.1.2 MFC中的菜单消息
第5章 鼠标和键盘
5.1 输入基础以及系统状态
5.2 鼠标输入
5.2.1 创建鼠标消息处理程序
5.2.2 在屏幕坐标和窗口坐标之间转换
5.3 创建更改鼠标指针的MFC演示程序
5.3.1 捕获鼠标
5.3.2 限制鼠标移动
5.4 键盘输入
5.4.1 回显键盘焦点
第6章 图形
6.1 介绍图形设备界面
6.1.1 图形类型
6.1.2 GDI设备类型
6.2 设备上下文
6.2.1 DC绘图属性
6.2.2 WM-PAINT消息
6.2.3 绘制坐标
6.2.4 触发WM-PAINT
6.2.5 响应除WM-PAINT之外的其他消息进行绘图
6.3 处理文本
6.3.1 GDI颜色支持
6.3.2 文本颜色
6.3.3 对齐文本
6.3.4 调整文本
6.4 字体
6.4.1 什么是字体
6.4.2 将对象选入DC
6.4.3 选择常备字体
6.4.4 选择非常备字体
6.5 画笔和画刷
6.5.1 画笔
6.5.2 画刷
6.6 映射模式
6.7 光栅操作
6.7.1 文本绘图函数
6.7.2 文本坐标的计算
6.8 剪取区域
第7章 使用位图
7.1 位图内存和视频内存
7.1.1 位、每象素位及颜色深度
7.2 创建CBitmap对象
7.3 加载和设置位图内容
7.4 将CBitmaps绘制到屏幕上
7.5 绘制位图
7.5.1 创建并显示位图
7.6 光栅操作
7.7 调色板和颜色
7.7.1 HSV
7.7.2 逻辑调色板
7.7.3 调色板事件
7.7.4 SetSystemPaletteUse( )函数
第8章 MFC异常处理
8.1 结构化异常处理
8.2 异常处理语法
8.2.1 抛出异常
8.2.2 捕获异常
8.3 错误处理技巧比较
8.3.1 处理错误代码
8.3.2 在正确上下文中处理错误
8.3.3 从构造函数中抛出异常
8.4 CException类
8.4.1 创建和删除CException对象
8.4.2 从CException对象中检索错误信息
8.4.3 捕获多种异常类型
第9章 控件和控件栏
9.1 创建控件
9.1.1 使用CButton类
9.1.2 使用CListBox类
9.1.3 使用CEdit类
9.1.4 使用CStatic类
9.1.5 使用CScrollBar类
9.1.6 使用CComboBox类
9.2 状态栏和工具栏
9.2.1 创建和使用状态栏
9.2.2 创建和控制工具栏
9.2.3 使用ReBar控件
9.3 属性单和属性页
9.3.1 CPropertySheet和CPropertyPage
第10章 模式和非模式对话
10.1 使用对话框编辑器
10.1.1 对话模板
10.1.2 创建新的对话模板
10.1.3 编辑一个对话模板
10.1.4 测试对话
10.2 CDialog类
10.2.1 模式与非模式对话的对比
10.2.2 用Class Wizard创建CDialog派生类
10.3 对话数据交换和校验
10.3.1 创建DDX变量
10.3.2 DoDataExchange和UpdateData
10.4 AddressBook演示程序
10.4.1 编辑演示程序的对话
10.4.2 CContact类
10.4.3 重载OnInitdialog
10.4.4 处理WM-DESTROY消息
10.4.5 显示数据
10.4.6 处理按钮通知
10.4.7 建立和测试演示程序
10.5 在对话中派生控件类
10.5.1 创建控件类
10.5.2 AddressBook演示程序:CAutoCompleteComboBox
10.6 串行化
10.6.1 在基于对话框的应用程序中实现串行化
10.6.2 使每个类可串行化
10.6.3 实现Serialize ()虚函数
10.6.4 从磁盘中读取数据
10.6.5 把数据保存到磁盘
10.6.6 给AddressBook演示程序添加串行化
第11章 文档、视图和SDI
11.1 文档/视图设计
11.2 CDocument类
11.2.1 在应用程序内声明一个文档类
11.2.2 CDoccument的成员函数
11.2.3 文档和消息处理
11.2.4 使用复杂文档数据
11.2.5 CCmdTarget和CDocItem的益处
11.3 InitInstance函数对文档的重要性
11.3.1 应用程序如何管理文档和视图
11.3.2 关注CSingleDocTemplate类
11.3.3 简介框架窗口
11.3.4 文档模板资源
11.3.5 常备视图资源
11.3.6 使用多个模板
11.3.7 销毁用AddDocTemplate( )成员函数添加的文档
11.4 了解和使用CView类
11.4.1 声明一个视图类
11.4.2 分析CView成员函数
11.4.3 使用视图和消息
11.4.4 CView类的MFC派生变形
11.4.5 CForm视图与基于对话的应用程序的对比
11.4.6 返回框架窗口
11.4.7 AfxGetMainWnd( )的作用
11.5 打印和打印预览
11.5.1 Windows API打印机支持
11.5.2 用MFC进行打印
11.5.3 打印预览体系结构
第12章 MDI应用程序的布局
12.1 再论文档/视图模型
12.2 管理文档、视图和框架窗口的复杂组合
12.2.1 使用多文档类型
12.2.2 使用文档的多个视图
12.3 拆分窗口
12.3.1 区分拆分窗口
12.3.2 理解特定于CSplitterWnd类的内容
12.3.3 详细讲解动态拆分
12.3.4 在动态面板中使用不同的视图
12.3.5 使用CRuntimeClass对象
12.3.6 对与多个文档关联的视图使用拆分器
12.3.7 使用静态拆分器
12.3.8 创建静态拆分器
12.3.9 共享滚动条
12.3.10 确定实际的和理想尺寸
12.3.11 拆分器的性能问题
12.4 为窗口定义子类
12.4.1 使用MFC定义窗口子类
12.4.2 文档/视图体系结构的替代
第13章 线程
13.1 线程
13.1.1 创建工作者线程
13.1.2 线程函数
13.1.3 创建用户界面线程
13.1.4 挂起和继续执行线程
13.1.5 使线程睡眠
13.1.6 终止一个线程
13.1.7 从一个线程中终止另一个线程
13.1.8 线程、进程和优先级
13.1.9 进程优先级类
13.2 在线程之间共享MFC对象
13.3 在多线程应用程序中使用C运行函数
13.4 ThreadDemol程序
第14章 使用DLL
14.1 DLL概述
14.1.1 动态库和静态库
14.1.2 加载DLL
14.2 Visual C ++常规DLL
14.2.1 了解常规DLL内部
14.2.2 动态加载DLL
14.3 MFC扩展DLL
14.3.1 MFC扩展DLL的内部原理
14.3.2 通过MFC 扩展DLL导出类
14.3.3 关于AFX-EXT-CLASS的更多内容
14.3.4 使用嵌套的MFC扩展DLL
14.3.5 导出资源
14.3.6 编写在DLL中封装文档和视图的演示程序
第15章 ActiveX及共控件设计
15.1 ActiveX的超源和使用
15.2 理解各种ActiveX技术
15.2.1 自动化服务器
15.2.2 自动化控制器
15.2.3 定义ActiveX控件
15.2.4 组件对象COM模型对象
15.2.5 ActiveX文档
15.2.6 ActiveX容器
15.3 ActiveX能做些什么
15.4 确定你需要哪种ActiveX组件
15.4.1 使用自动化服务器和控制器
15.4.2 使用ActiveX控件
15.4.3 使用COM对象
15.4.4 使用MFC来创建ActiveX组件
15.4.5 使用ActiveX模板库来创建ActiveX组件
15.4.6 使用BaseControl框架来创建ActiveX组件
15.4.7 创建你自己的框架
15.5 基本的ActiveX组件体系结构
15.5.1 ActiveX自动化服务器
15.5.2 ActiveX控件
15.6 建立ActiveX组件需要的支持工具
15.6.1 MIDL编译器
15.6.2 Mktyplib
15.6.3 GUIDGEN
15.6.4 RegEdit
15.6.5 注册服务器
15.6.6 Ole2View
15.6.7 把工具添加到Visual C++开发环境
15.6.8 把GUIDGEN添加到Visual C++环境中
15.7 用MFC创建一个基本ActiveX控件
15.7.1 创建基本的控件项目
15.7.2 控件注册
15.7.3 创建方法
15.7.4 属性
15.7.5 创建属性页
15.7.6 添加事件
15.7.7 持久性
15.8 绘制控件
15.9 标准绘制
第16章 创建ActiveX自动化服务器
16.1 创建基本项目
16.1.1 给应用程序添加一个自动化接口
16.1.2 注册服务器
16.1.3 为范例服务器编写支持代码
16.1.4 添加方法
16.1.5 给服务器添加属性
16.2 理解双接口服务器
16.3 用C++进行服务器实例化
16.3.1 用C++实例化OLE服务器时常见的问题
16.3.2 创建可共享的服务器
16.3.3 单一实例服务器
第17章 活动模板库
17.1 ATL概述
17.2 创建ATL控件
17.3 把一个COM对象添加到项目中
17.4 修改CDoublePend包含文件
17.5 在C++中使用控件
17.6 数据类型
17.6.1 转换BSTR
17.6.2 比较BSTR
17.6.3 在调试中查看一个BSTR的内容
17.7 在WEB页中嵌入ActiveX控件
第18章 数据库编程
18.1 ODBC定义与数据库术语
18.2 ODBC的实现
18.3 CDatabase类
18.4 CRecordset类
18.4.1 构造一个记录集
18.4.2 打开一个记录集
18.4.3 使用RFX读写数据
18.4.4 过滤记录
18.4.5 排序返回的记录集中的记录
18.4.6 在结果集合中移动
18.4.7 保存记录
18.4.8 删除记录
18.5 使用MFC DAO类
18.5.1 CDao Database类
18.5.2 CDaoWorkspace类
18.5.3 CDaoRecordset类
第19章 Internet编程
19.1 CInternetSession类
19.2 CFtpConnection类
19.2.1 连接到一个FTP服务器
19.2.2 从FTP服务器中检索文件
19.2.3 把文件发送给FTP服务器
19.2.4 其他FTP函数
19.2.5 CInternetFile类
19.2.6 CFtpFileFind类
19.3 套接字和CSocket类
19.3.1 创建套接字
19.3.2 连接到套接字
19.3.3 监听一个连接
19.3.4 读和写数据