第1章 Visual C+集成开发环境 1
1.1 Visual C++概述 1
1.2 Visual Studio集成开发环境 1
1.2.1 Visual Studio 2010界面 2
1.2.2 项目与解决方案 3
1.3 创建应用程序 5
1.3.1 创建Win32控制台应用程序 6
1.3.2 创建MFC应用程序 9
1.4 习题 10
第2章 C+语言面向对象编程基础 11
2.1 一个简单的C++语言程序 11
2.2 C++语言程序基本要素 12
2.2.1 关键字和标识符 12
2.2.2 基本数据类型 13
2.2.3 常量与变量 14
2.2.4 运算符与表达式 16
2.3 类与对象 19
2.3.1 面向对象程序设计的基本思想和特点 19
2.3.2 类的定义与实现 20
2.3.3 构造函数和析构函数 22
2.3.4 this指针 27
2.4 组合类 28
2.4.1 组合类的定义 28
2.4.2 组合类的构造函数 29
2.5 友元 31
2.5.1 友元函数 31
2.5.2 友元类 32
2.6 类的静态成员 34
2.6.1 静态数据成员 34
2.6.2 静态成员函数 36
2.7 继承与派生 37
2.7.1 继承与派生的概念 37
2.7.2 派生类的定义 38
2.7.3 继承的方式 40
2.7.4 派生类的构造函数与析构函数 44
2.7.5 虚基类 48
2.8 重载 52
2.8.1 函数重载 52
2.8.2 运算符重载 55
2.9 多态与虚函数 60
2.9.1 多态的概念 60
2.9.2 虚函数 60
2.9.3 虚析构函数 62
2.9.4 纯虚函数与抽象类 63
2.10 流 64
2.11 拓展案例 65
2.12 习题 68
第3章 Windows应用程序 74
3.1 Windows编程基础知识 74
3.1.1 窗口 74
3.1.2 事件驱动 74
3.1.3 句柄 75
3.1.4 Windows消息 75
3.2 Windows应用程序常用消息 76
3.3 Windows中的事件驱动程序设计 77
3.3.1 程序入口函数 77
3.3.2 定义窗口类 78
3.3.3 注册窗口类 78
3.3.4 创建窗口 78
3.3.5 显示窗口 79
3.3.6 消息循环 79
3.3.7 窗口函数 80
3.4 拓展案例 83
3.5 习题 84
第4章 MFC原理与方法 85
4.1 MFC的本质 85
4.2 MFC的组织结构 85
4.2.1 根类 86
4.2.2 应用程序体系结构类 86
4.2.3 可视对象类 87
4.2.4 通用类 89
4.2.5 O LE类 90
4.2.6 ODBC类 90
4.2.7 Internet和网络类 91
4.2.8 调试支持类和异常类 91
4.3 Visual C++工程类型 92
4.3.1 ATL Project 92
4.3.2 CLR项目 92
4.3.3 常规 92
4.3.4 MFC项目 93
4.3.5 测试 93
4.3.6 Win32 93
4.4 MFC应用程序向导 94
4.5 MFC应用程序向导生成的文件 103
4.6 MFC消息管理 103
4.6.1 MFC消息映射机制 103
4.6.2 消息类别 104
4.6.3 消息处理 105
4.6.4 添加消息处理函数 106
4.7 MFC宏和指令 107
4.7.1 #include指令 108
4.7.2 #define指令 108
4.7.3 #typedef指令 108
4.7.4 #ifdef_ #else_ # endif指令 108
4.7.5 #Pragma指令 108
4.7.6 宏:_LINE_和_FILE_ 110
4.7.7 调试宏:ASSERT() 、 VERIFY() 、TRACE() 110
4.7.8 消息处理宏 111
4.7.9 消息映射宏 111
4.7.10 宏DEBUG_ NEW 112
4.7.11 异常宏 112
4.7.12 宏DECLARE_ DYNAMIC()、宏IMPLEMENT_ DYNAMIC() 114
4.7.13 宏DECLARE_ DYNCREATE()、宏IMPLEMENT_ DYNCREATE() 114
4.7.14 宏DECLARE_ SERIAL()、宏IMPLEMENT_ SERIAL() 115
4.7.15 宏RUNTIME_ CLASS() 115
4.8 常用的MFC 115
4.8.1 CRuntimeC lass结构 115
4.8.2 派生类CObject 116
4.8.3 类CCmdTarget 116
4.8.4 类C W inThread 116
4.8.5 类CWinApp 116
4.8.6 类CWnd 117
4.8.7 类CF rameWnd 117
4.8.8 类CDocument和类CView 118
4.9 拓展案例 119
4.10 习题 120
第5章 文档/视图结构 122
5.1 文档/视图类 122
5.1.1 文档类 122
5.1.2 单文档和多文档 122
5.1.3 视图类 123
5.1.4 文档/视图/框架结构 124
5.2 文档/视图结构的操作 125
5.2.1 各类间的相互操作 125
5.2.2 视图类CView的操作 126
5.2.3 文档类CDocument的操作 127
5.3 鼠标和键盘消息处理 128
5.3.1 鼠标事件和鼠标消息 128
5.3.2 鼠标消息处理 129
5.3.3 键盘消息处理 132
5.4 菜单设计 135
5.4.1 菜单资源 136
5.4.2 菜单快捷键 139
5.4.3 弹出式菜单 140
5.5 工具栏和状态栏 142
5.5.1 工具栏 142
5.5.2 状态栏 143
5.6 文档序列化 145
5.6.1 类CFile 145
5.6.2 类CArchive 148
5.6.3 序列化函数 148
5.6.4 自定义序列化 150
5.7 拓展案例 154
5.8 习题 158
第6章 对话框 160
6.1 对话框概述 160
6.1.1 对话框资源 160
6.1.2 对话框对象 160
6.1.3 文档对象 160
6.2 基于对话框的应用程序 161
6.3 对话框的使用 167
6.3.1 设计对话框资源 168
6.3.2 生成对话框类 173
6.3.3 运行对话框 182
6.4 对话框类CDialog和类CDialogEx 182
6.4.1 类CDialog 183
6.4.2 类CDialogEx 186
6.5 模式对话框和非模式对话框 188
6.5.1 模式对话框 188
6.5.2 非模式对话框 190
6.6 消息对话框 194
6.6.1 消息对话框的弹出 194
6.6.2 消息对话框的返回值 196
6.7 通用对话框 198
6.7.1 文件对话框 199
6.7.2 字体对话框 202
6.7.3 颜色对话框 206
6.8 拓展案例 208
6.9 习题 210
第7章 常用控件 212
7.1 控件概述 212
7.1.1 控件的分类 212
7.1.2 控件的组织 214
7.1.3 控件的属性 215
7.1.4 控件的创建 215
7.1.5 控件通知消息 216
7.2 静态控件和按钮控件 217
7.2.1 静态控件 217
7.2.2 按钮控件 220
7.3 编辑框控件和旋转按钮控件 235
7.3.1 编辑框控件 235
7.3.2 旋转按钮控件 239
7.4 列表框控件、组合框控件和滚动条控件 240
7.4.1 列表框控件 240
7.4.2 组合框控件 248
7.4.3 滚动条控件 257
7.5 滑块控件和进度条控件 261
7.5.1 滑块控件 261
7.5.2 进度条控件 262
7.6 日期时间控件和标签控件 263
7.6.1 日期时间控件 263
7.6.2 标签控件 264
7.7 拓展案例 270
7.8 习题 277
第8章 图形处理 279
8.1 MFC绘图基础类CDC 279
8.1.1 类CClientDC 280
8.1.2 类CWindowDC 280
8.1.3 类CPaintDC 280
8.1.4 类CMetaFileDC 280
8.2 画笔和画刷 281
8.2.1 用画笔绘制基本几何图形 282
8.2.2 用画刷绘制基本几何图形 285
8.2.3 绘制复杂几何图形 287
8.3 文本和字体 289
8.3.1 获取及设置默认字体 290
8.3.2 输出字体设置 290
8.4 位图、图标和光标 290
8.4.1 位图 291
8.4.2 图标 291
8.4.3 光标 292
8.5 拓展案例 293
8.6 习题 296
第9章 Visual C+的高级应用 297
9.1 Visual C++数据库编程 297
9.1.1 ODBC的基本概念 297
9.1.2 ODBC数据库配置过程 298
9.1.3 ODBC编程实现 299
9.2 Visual C++Socket编程 304
9.2.1 面向连接的网络通信 304
9.2.2 Socket服务器端编程 307
9.2.3 Socket客户端编程 314
9.3 拓展案例 318
9.4 习题 322
参考文献 323