第1章 Visual C++.NET概述 1
1.1 Visual Studio 2005集成开发环境概述 1
1.1.1 Visual C++.NET发展历史 1
1.1.2 项目和解决方案 2
1.1.3 工具栏、菜单栏和窗口 4
1.1.4 帮助文档的使用 9
1.2 .NET Framework和MFC 10
1.2.1 .NET Framework 11
1.2.2 MFC 13
1.3 第一个Visual C++.NET程序 15
1.3.1 Visual C++.NET项目类型 15
1.3.2 交通灯实例 16
1.3.3 设置解决方案和程序调试 23
1.4 本章小结 26
习题1 26
第2章 C++基础知识 27
2.1 类和对象 27
2.1.1 面向对象概述 27
2.1.2 类 28
2.1.3 对象 29
2.2 继承机制 34
2.2.1 继承的概念 34
2.2.2 单继承 35
2.3 多态 38
2.3.1 多态的概念 38
2.3.2 虚函数 38
2.4 模板 40
2.4.1 概述 40
2.4.2 常用模板的使用 43
2.5 本章小结 52
习题2 53
第3章 Windows程序分析 54
3.1 Windows程序基本概念 54
3.1.1 API和SDK 54
3.1.2 窗口和句柄 55
3.2 Windows程序基本结构 56
3.2.1 程序框架分析 56
3.2.2 MFC程序框架分析 60
3.3 消息映射与消息处理 65
3.3.1 事件和消息 65
3.3.2 消息映射 66
3.3.3 常用消息 67
3.3.4 自定义消息 68
3.4 本章小结 70
习题3 70
第4章 对话框及Windows常用控件 71
4.1 对话框 71
4.1.1 概述 71
4.1.2 对话框程序创建和分析 72
4.1.3 CDialog 76
4.2 模态和非模态对话框 77
4.2.1 模态对话框 77
4.2.2 非模态对话框 78
4.3 属性对话框 81
4.3.1 概述 81
4.3.2 属性页 81
4.3.3 属性表单 83
4.4 通用对话框 90
4.4.1 颜色对话框 91
4.4.2 字体对话框 91
4.4.3 文件对话框 92
4.5 Windows常用控件 96
4.5.1 控件编程方法 97
4.5.2 基本控件 98
4.5.3 高级控件 104
4.6 综合实例 108
4.7 本章小结 111
习题4 111
第5章 资源的使用 112
5.1 菜单 112
5.1.1 概述 112
5.1.2 菜单的响应和消息路由 117
5.1.3 菜单的操作 119
5.1.4 快捷菜单 121
5.1.5 对话框菜单 122
5.2 工具栏 123
5.2.1 概述 123
5.2.2 工具栏的操作 127
5.2.3 自定义工具栏 128
5.3 状态栏 130
5.3.1 概述 130
5.3.2 状态栏操作 132
5.4 其他资源的使用 133
5.4.1 加速键 133
5.4.2 String Table 134
5.4.3 图标 134
5.4.4 版本信息 135
5.5 本章小结 136
习题5 137
第6章 图形绘制 138
6.1 图形编程示例 138
6.2 窗口图形输出接口 140
6.2.1 图形的类型 141
6.2.2 图形设备环境和设备接口 141
6.2.3 MFC应用程序获取设备环境的方法 142
6.2.4 绘图设计的MFC类 143
6.2.5 CDC类中常用的图形输出函数 144
6.2.6 CDC类中文本输出相关函数 145
6.2.7 WM_PAINT消息和OnDraw函数 146
6.2.8 应用实例 147
6.3 图形工具对象 148
6.3.1 颜色的表示 149
6.3.2 画笔的使用 149
6.3.3 画刷的使用 151
6.3.4 创建和使用字体 152
6.4 交互绘图技术 153
6.4.1 交互图形的概念和应用 153
6.4.2 鼠标拖动画线实例 154
6.5 窗口定时器 156
6.6 光栅图形的绘制 157
6.6.1 概述 158
6.6.2 光栅图形绘制技术 158
6.7 简单交互动画绘制 160
6.8 本章小结 162
习题6 162
第7章 文档与视图 164
7.1 文档视图结构 164
7.1.1 概述 164
7.1.2 文档模板 167
7.1.3 文档类 168
7.1.4 视图类 170
7.1.5 文档视图框架互访 173
7.2 文档串行化和文件操作 175
7.2.1 文档串行化 175
7.2.2 文件操作CFile 180
7.2.3 简易文本编辑器 181
7.3 分割窗口 186
7.4 本章小结 192
习题7 192
第8章 动态链接库 194
8.1 概述 194
8.1.1 动态库和静态库 195
8.1.2 动态库的加载 195
8.2 MFC DLL 196
8.2.1 MFC DLL的创建 197
8.2.2 MFC DLL的调用 204
8.2.3 DLL Main函数 210
8.3 本章小结 211
习题8 211
第9章 多线程编程 212
9.1 概述 212
9.1.1 进程 212
9.1.2 线程 213
9.2 工作线程和用户界面线程 216
9.2.1 工作线程 217
9.2.2 用户界面线程 219
9.2.3 线程间通信 221
9.3 线程同步 223
9.3.1 事件 223
9.3.2 临界区 225
9.3.3 互斥体 228
9.3.4 信号量 229
9.4 本章小结 232
习题9 232
第10章 网络编程 233
10.1 网络基础 233
10.1.1 网络分层 233
10.1.2 基本概念 234
10.1.3 常用协议 236
10.2 WinSock 238
10.2.1 概述 238
10.2.2 WinSock API函数 240
10.2.3 流套接字编程 242
10.2.4 数据报套接字编程 246
10.3 MFC Socket 249
10.3.1 CAsyncSocket编程 250
10.3.2 CSocket编程 251
10.3.3 简单聊天室 252
10.4 WinInet编程 260
10.5 本章小结 265
习题10 265
第11章 串行通信编程 267
11.1 串行编程基础 267
11.1.1 串口 267
11.1.2 数制基础 268
11.1.3 串口编程方法 269
11.2 MSComm 269
11.2.1 MSComm组件的导入 269
11.2.2 MSComm组件的属性、方法和事件 270
11.2.3 variant数据类型简介 271
11.3 串口编程实例 272
11.4 本章小结 274
习题11 274
第12章 数据库编程 275
12.1 概述 275
12.1.1 数据库和数据库管理系统 275
12.1.2 SQL语句 276
12.2 ODBC操作数据库 277
12.2.1 ODBC简介 277
12.2.2 ODBC编程 279
12.3 ADO操作数据库 284
12.3.1 ADO简介 284
12.3.2 ADO编程 285
12.4 本章小结 295
习题12 295
第13章 ActiveX控件 297
13.1 概述 297
13.1.1 ActiveX概述 297
13.1.2 MFC ActiveX控件 298
13.1.3 测试 301
13.1.4 注册 301
13.2 属性 305
13.2.1 概述 305
13.2.2 标准属性 306
13.2.3 自定义属性 307
13.3 方法和事件 309
13.3.1 方法概述 309
13.3.2 标准事件 310
13.3.3 自定义事件 311
13.4 应用实例 311
13.5 本章小结 312
习题13 312
附录A 实验 314
实验1 熟悉Visual Studio 2005 IDE 318
实验2 对话框简单练习 321
实验3 高考志愿填报系统 323
实验4 通用对话框练习 329
实验5 菜单、工具栏和状态栏 330
实验6 简单图形绘制 333
实验7 GDI对象使用 336
实验8 文档视图 338
实验9 动态链接库 341
实验10 多线程技术 345
实验11 网络编程1——WinSock 347
实验12 网络编程2——CSocket 352
实验13 串口通信 353
实验14 数据库编程1——ODBC 356
实验15 数据库编程2——ADO 361
参考文献 366