第1章 Visual C++6.0编程基础 1
1.1 Visual C++6.0集成开发环境概述 1
目录 1
1.1.1 标题栏 2
1.1.2 菜单栏 2
1.1.3 工具栏 2
1.1.4 项目工作区 2
1.1.7 状态栏 4
1.1.8 应用程序向导AppWizard 4
1.1.6 信息输出窗口 4
1.1.5 文档窗口 4
1.1.9 类向导ClassWizard 5
1.2 Visual C++项目及其文件构成 5
1.2.1 Visual C++项目 5
1.2.2 文件构成 5
1.3 Windows编程基础 6
1.3.1 匈牙利符号表示法 6
1.3.2 Windows消息和命令 8
1.3.3 句柄 10
1.4 一个简单的应用程序 10
1.4.1 使用AppWizard生成应用程序基本框架 11
1.4.2 应用程序框架剖析 15
1.4.3 添加代码 18
1.4.4 编译执行程序 19
第2章 对话框编程 20
2.1 模式对话框 20
2.1.1 创建项目 20
2.1.2 创建对话框模板 20
2.1.3 创建对话框类 21
2.1.4 添加消息处理函数 22
2.1.5 定义对话框对象 23
2.2.1 创建对话框 24
2.2 非模式对话框 24
2.1.6 编译并运行程序 24
2.2.2 创建对话框类 25
2.2.3 添加代码 26
2.3 通用对话框和消息对话框 34
2.3.1 通用对话框 34
2.3.2 消息对话框 43
第3章 常用控件编程 45
3.1 控件的创建和使用 45
3.1.1 控件的创建 45
3.1.2 Windows常用控件介绍 47
3.2.2 按钮 49
3.2.1 静态控件 49
3.2 Windows常用控件 49
3.2.3 编辑框 52
3.2.4 列表框 55
3.2.5 列表控制 59
3.2.6 组合框 68
3.2.7 滚动条 71
3.2.8 滑动条 73
3.2.9 旋转按钮 74
第4章 绘图及打印编程 81
4.1 图形设备接口 81
4.1.1 设备描述表及其获取方法 81
4.1.2 映像模式 83
4.1.3 坐标系统 84
4.1.4 GDI对象 86
4.1.5 常用的绘图函数 91
4.2 实现绘图程序 94
4.2.1 建立Draw程序框架 94
4.2.2 实现Draw图形类 96
4.2.3 实现文档类 109
4.2.4 添加绘图菜单和工具条 113
4.2.5 实现视图类 124
4.2.6 编译并执行程序 135
4.3.1 打印 136
4.3 打印和打印预览 136
4.3.2 打印预览 139
4.3.3 给对话框实现打印功能 139
第5章 位图编程 155
5.1 设备相关位图和设备无关位图 155
5.1.1 设备相关位图(DDB) 155
5.1.2 设备无关位图(DIB) 155
5.2 使用DDB位图 163
5.3 DIB编程示例 167
5.3.1 BMP地图文件 168
5.3.2 CDib类 168
5.3.3 CImageMap类 188
5.3.4 图像配准 211
5.3.5 添加菜单、工具条和光标 214
5.3.6 实现CImageView类 215
5.3.7 程序运行结果 226
第6章 文件操作 228
6.1 MFC文件类简介 228
6.2 利用CFile类进行文件操作 228
6.2.1 CFile类成员函数 228
6.2.2 打开文件 229
6.2.3 文件的读写 230
6.2.4 文件的随机访问 231
6.2.5 文件的关闭 232
6.3 使用CStdioFile类进行文件读写 233
6.4 CMemFile类 234
6.5 CShareFile类 235
6.6 CArchive类 236
第7章 动态链接库 238
7.1 基本动态链接库理论 238
7.1.1 动态链接库简介 238
7.1.3 调用约定 239
7.1.2 导出和导入函数的匹配 239
7.1.4 修饰约定 240
7.1.5 DllMain函数 242
7.1.6 模块句柄 242
7.2 使用动态链接库 243
7.2.1 隐式链接 243
7.2.2 显式链接 244
7.3 动态链接库的创建 249
7.3.1 Non-MFC DLL 249
7.3.2 Regular DLL 253
7.3.3 Extension DLL 255
8.1 进程 258
第8章 进程和线程 258
8.1.1 创建一个进程 259
8.1.2 终止一个进程 260
8.2 线程 260
8.2.1 线程的类型 260
8.2.2 工作者线程 261
8.2.3 用户界面线程 264
8.2.4 线程调度 266
8.2.5 线程局部存储 267
8.3 线程同步 270
8.3.1 临界区 270
8.3.2 互斥量 273
8.3.3 信号量 278
8.3.4 事件 279
8.3.5 互锁函数 284
8.3.6 等待函数 286
8.4 进程间同步 290
第9章 串口通信 291
9.1 Win32 API串口通信编程概述 291
9.2 串口通信函数 292
9.2.1 打开和关闭串口 292
9.2.2 配置串口 293
9.2.3 配置超时值 296
9.2.4 缓冲区操作 298
9.2.5 串口读写操作 299
9.2.6 获取通信状态和通信错误 303
9.2.7 使用通信事件 305
9.2.8 设备控制 308
9.3 串口通信实例程序 309
9.3.1 功能目标 309
9.3.2 主要技术和算法 310
9.3.3 程序实现 311
第10章 多媒体编程 334
10.1 MCI简介 334
10.2 MCI函数 335
10.3 MCI命令 339
10.3.1 MCI命令集 339
10.3.2 标志(FLAG) 341
10.4 MCI基本操作 342
10.4.1 启动MCI装置 342
10.4.2 设定MCI装置的时间表示法 344
10.4.3 操作MCI装置 344
10.4.4 关闭MCI装置 345
10.4.5 获取时间信息 345
10.5 一个MCI实例程序 346
10.5.1 功能目标 346
10.5.2 程序实现 347
第11章 Windows套接字 377
11.1 WinSock概述 377
11.1.1 套接字(Sockets) 377
11.1.2 基本概念 378
11.2 WinSock编程原理 379
11.2.1 WinSock的启动和终止 380
11.2.2 创建套接字 381
11.2.3 使用数据报套接字 382
11.2.4 使用流套接字 388
11.2.5 等待事件 391
11.2.6 套接字选项和I/O控制命令 394
11.3 一个网络通信程序示例 396
11.3.1 功能目标 396
11.3.2 程序实现 397
11.4 WinSock 2的扩展特性 419
11.4.1 WinSock 2的新函数 419
11.4.2 使用多种协议 419
11.4.3 重叠I/O 420
11.4.4 服务质量(QOS) 420
11.4.5 多点套接字 420
11.4.6 共享的套接字 421
11.4.7 扩展的连接操作 421