第1章 Visual C++.NET集成开发环境 1
1.1 Visual C++.NET概述 1
1.1.1 .NET开发框架 1
1.1.2 VisuaI C++.NET新特点 5
1.1.3 解决方案和项目 6
1.2 Visual Studio.NET的启动和退出 6
1.3 菜单栏 14
1.3.1 “文件”菜单 14
1.3.2 “编辑”菜单 15
1.3.3 “视图”菜单 16
1.3.4 “项目”菜单 18
1.3.5 “生成”菜单 20
1.3.6 “调试”菜单 21
1.3.7 “工具”菜单 22
1.3.8 “窗口”菜单 25
1.3.9 “帮助”菜单 26
1.4 工具栏 27
1.5 窗口 30
1.5.1 “解决方案资源管理器”窗口 30
1.5.2 “类视图”窗口 31
1.5.3 “资源视图”窗口 32
1.5.4 “属性”窗口 33
1.5.5 代码和文本编辑器窗口 33
1.5.6 服务器资源管理器 35
1.6 小结 35
习题(一) 36
2.1.1 标识符 37
2.1.2 关键字 37
2.1 C++语言元素 37
第2章 C++语言概述 37
2.1.3 基本数据类型 38
2.1.4 变量和常量 39
2.1.5 分隔符 39
2.1.6 运算符和表达式 39
2.1.7 数组 41
2.1.8 指针 42
2.1.9 字符串 43
2.1.10 自定义数据类型 43
2.1.11 数据类型转换 44
2.2 基本语句 45
2.2.1 空语句 46
2.2.2 块语句 46
2.2.3 选择语句 46
2.2.4 循环语句 50
2.2.5 break和continue转移语句 51
2.2.6 预处理指令 51
2.2.7 注释语句 53
2.3 函数 53
2.3.1 C++标准库 54
2.3.2 自定义函数 54
2.3.3 函数重载 56
2.3.4 函数调用 57
2.4 类和对象 58
2.4.1 面向对象的编程 58
2.4.2 类 62
2.4.3 对象 64
2.4.4 基类和派生类 66
2.4.5 虚函数和抽象类 68
2.4.6 运算符重载 68
2.5 小结 70
习题(二) 71
3.1 MFC基础知识 73
3.1.1 MFC概述 73
第3章 Windows应用程序快速设计 73
3.1.2 MFC类的层次结构 74
3.1.3 CObject类 76
3.1.4 CWinApp类 79
3.1.5 CWnd类 80
3.1.6 CFrame Wnd类 80
3.1.7 CView类 81
3.1.8 CDocument类 81
3.2 Windows的消息响应机制 81
3.3 快速设计Windows应用程序 83
3.3.1 创建MFC应用程序框架结构 83
3.3.2 编辑源文件 90
3.3.3 运行应用程序 104
习题(三) 107
3.4 小结 107
第4章 菜单、工具栏和状态栏 110
4.1 菜单 110
4.1.1 创建菜单资源 110
4.1.2 操作菜单资源 113
4.1.3 动态修改菜单 114
4.1.4 菜单消息响应 116
4.1.5 菜单的UI机制 118
4.1.6 使用菜单示例 119
4.2 工具栏 128
4.2.1 工具栏资源 129
4.2.2 工具栏类 130
4.2.3 消息传递机制 132
4.2.4 创建工具栏 132
4.3.1 CStatusBar类 134
4.3 状态栏 134
4.3.2 创建和处理状态栏 135
4.3.3 状态栏提示信息 137
4.4 小结 158
习题(四) 159
第5章 控件 160
5.1 常用控件概述 160
5.1.1 控件种类 160
5.1.2 控件的工作机制 162
5.2 常用控件使用 165
5.2.1 编辑框控件 165
5.2.2 按钮 166
5.2.3 列表控件 168
5.2.4 组合框 170
5.2.6 微调按钮 171
5.2.5 滚动条 171
5.2.7 滑块控件 172
5.2.8 进度条 173
5.2.9 动画控件 173
5.2.10 树形控件 174
5.3 创建使用控件的应用程序 175
5.4 小结 188
习题(五) 188
第6章 对话框 190
6.1 对话框 190
6.2 通用对话框类 191
6.2.1 CFontDialog类 191
6.2.2 CFileDialog类 193
6.2.3 CPrintDialog类 194
6.2.4 CColorDialog类 195
6.2.5 CFindReplaceDialog类 196
6.3 创建对话框 198
6.3.1 创建对话框模板 198
6.3.2 用MFC类向导生成对话框类 199
6.3.3 创建并显示对话框 200
6.3.4 初始化对话框 201
6.3.5 处理消息 201
6.3.6 对话数据交换和验证 202
6.3.7 访问对话框控件 204
6.3.8 关闭对话框 205
6.3.9 管理对话框的MFC函数 206
6.4 创建对话框应用 207
6.5 小结 216
习题(六) 216
7.1.1 文档和视图 218
7.1 文档/视图结构 218
第7章 文档/视图结构 218
7.1.2 文档类 219
7.1.3 视图类 220
7.1.4 框架窗口类 220
7.1.5 文档模板 221
7.1.6 文档/视图结构的相互关系 222
7.2 多文档和多视图 223
7.2.1 多文档 223
7.2.2 多视图 224
7.3 创建一个单文档应用程序 225
7.4 小结 239
习题(七) 239
第8章 OpenGL编程 241
8. 1 OPenGL基本概念 241
8.2.1 OpenGL工作原理 244
8.2 OPenGL程序基础 244
8.2.2 OPenGL数据类型 250
8.2.3 OpenGL函数 250
8.3 编写OPenGL应用程序 256
8.4 小结 279
习题(八) 279
第9章 多线程应用程序的设计 281
9.1 概述 281
9.1.1 进程和线程 281
9.1.2 线程的分类 283
9.2 创建和使用线程 283
9.2.1 启动线程 283
9.2.2 初始化线程 286
9.2.3 悬挂和恢复线程 286
9.2.4 使线程休眠 286
9.2.5 终止线程 287
9.2.6 启动工作者线程的实例 288
9.3 设置线程优先级 298
9.4 实现线程同步 300
9. 4. 1 信号灯类CSemaphore 301
9.4.2 事件同步类CEvent 301
9.4.3 临界区类CCriticalSection 302
9.4.4 互斥信号灯类CMutex 302
9.5 创建多线程应用 304
9.6 小结 313
习题(九) 313
第10章 动态链接库 314
10.1 DLL概述 314
10.2 使用DLL 316
10.2.1 DLL入口函数 316
10.2.2 DLL的导入和导出函数 316
10.2.3 链接DLL 317
10.3 编写DLL 319
10.4 小结 335
习题(十) 335
第11章 ActiveX编程 337
11.1 OLE技术概述 337
11.1.1 组件对象模型 338
11.1.2 结构化存储 339
11.1.3 Monikers 340
11.1.4 统一数据传输 340
11.1.5 OLE文档 341
11.1.6 OLE自动化 341
11.2 ActiveX技术概述 342
11.2.1 ActiveX文档 343
11.2.2 ActiveX容器 343
11.2.3 ActiveX控件 346
11.2.4 创建ActiveX控件 353
11.2.5 插入ActiveX控件 357
11.3 ActiveX控件应用实例 358
11.4 小结 361
习题(十一) 361
第12章 数据库编程 363
12.1 关系数据库基本知识 363
12.1.1 基本概念 363
12.1.2 SQL语言 365
12.2 ODBC/MFC编程 367
12.2.1 ODBC体系结构 367
12.2.2 CDatabase对象 369
12.2.3 CRecordSet对象 371
12.3 DAO/MFC 375
12.3.1 CDaoWorkspace类 376
12.3.2 CdaoDatabase对象 377
12.3.3 CDaoRecordset对象 378
12.3.4 CDaoTableDef对象 379
12.3.5 CDaoQueryDef对象 380
12.4 使用OLE DB编程 380
12.5 使用ADO编程 381
12.6 数据库编程示例 382
12.6.1 创建数据源 382
12.6.2 创建ODBC应用程序 384
12.6.3 编辑ODBC应用程序 386
12.6.4 增加表中记录的功能 389
12.6.5 删除表中记录的功能 394
12.6.6 查找记录的功能 395
12.7 小结 406
习题(十二) 406
13.1 网络通信基础知识 408
第13章 网络通信应用程序的设计 408
13.2 Windows Sockets编程 409
13.2.1 套接字的定义 410
13.2.2 端口和地址 411
13.2.3 阻塞 413
13.2.4 CAsyncSocket类 413
13.2.5 CSocket类 417
13.3 WinInet编程 420
13.3.1 MFC WinInet类 420
13.3.2 创建MFC WinInet客户程序 421
13.4 创建网络应用程序 428
13.5 小结 444
习题(十三) 444
附录 Visual C++.NET的安装 446
习题答案 451