第1章 面向对象程序设计 1
1.1面向对象程序设计基础 2
1.1.1面向对象程序设计与C++语言 2
1.1.2面向对象编程方法的基本特征 3
1.2类和对象 4
1.2.1类的定义 5
1.2.2对象的定义 6
1.2.3类的构造函数和析构函数 7
1.2.4对象成员的初始化 8
1.2.5 this指针 10
1.2.6静态成员 11
1.2.7友元函数 13
1.3继承和派生 14
1.3.1继承 15
1.3.2派生类与基类的构造函数 18
1.4虚函数和多态 20
1.4.1虚函数 20
1.4.2多态 21
1.4.3纯虚函数与抽象类 22
1.5上机练习 24
第2章 Visual C++入门知识 25
2.1 Visual C++ 6.0集成开发环境 26
2.1.1 Visual C++菜单的使用 27
2.1.2项目和项目工作区 27
2.1.3利用项目开发应用程序 28
2.1.4 Visual C++向导工具的使用 35
2.1.5 Visual C++工具栏的使用 37
2.2 Visual C++联机帮助系统 38
2.2.1帮助文件的打开及使用 38
2.2.2缩小查找范围 39
2.2.3导航工具的使用 40
2.2.4帮助系统的主要内容 40
2.3 Windows编程基础 41
2.3.1事件 41
2.3.2消息 41
2.3.3绘图 43
2.3.4设备描述表 44
2.4 Windows应用程序举例 45
2.5 Windows程序的生命周期 53
2.6上机练习 53
第3章 MFC应用程序框架 55
3.1 MFC和Win32 API 56
3.1.1类库 56
3.1.2应用框架 56
3.1.3应用程序框架实例 57
3.1.4程序代码说明 58
3.2使用应用程序向导生成代码 59
3.2.1创建HelloWorld项目 59
3.2.2对HelloWorld程序进行连编 62
3.2.3运行HelloWorld应用程序 63
3.2.4 AppWizard提供的强大功能 63
3.2.5为HelloWorld应用程序编写代码 64
3.3通过AppW izard文件探索MFC 66
3.3.1浏览代码 66
3.3.2应用程序对象 67
3.3.3主框架窗口对象 73
3.3.4文档对象 76
3.3.5文档视图结构 77
3.3.6视图对象 79
3.4 MFC程序的生命周期 82
3.5 MFC和Windows API的关系 83
3.6 MFC中钩子的介绍 84
3.7上机练习 85
第4章 菜单、工具栏和状态栏 87
4.1菜单 88
4.1.1 Windows菜单 88
4.1.2菜单和快捷键设计 88
4.1.3右键快捷菜单设计 93
4.2工具栏 95
4.2.1工具栏与消息处理 95
4.2.2工具栏的创建 98
4.3状态栏 102
4.3.1状态栏的定义 102
4.3.2状态栏的控制 102
4.3.3状态栏程序设计 103
4.4上机练习 106
第5章 对话框 107
5.1创建对话框 108
5.1.1添加对话框资源 108
5.1.2设置对话框属性 109
5.1.3向对话框添加控件 110
5.1.4生成对话框类 112
5.1.5为控件定义关联变量 113
5.1.6 DDX/DDV机制 115
5.1.7映射控件消息 116
5.1.8初始化对话框 118
5.2在程序中使用对话框 119
5.2.1模态对话框示例 120
5.2.2非模态对话框示例 125
5.2.3比较两类对话框的用法 129
5.3通用对话框 130
5.3.1 CFileDialog类 131
5.3.2 CColorDialog类 132
5.3.3 CFontDialog类 133
5.3.4 CPrintDialog类 134
5.3.5 CFindReplaceDialog类 135
5.3.6通用对话框示例 136
5.4上机练习 143
第6章 通用控件 145
6.1控件概述 146
6.1.1 MFC的控件类 146
6.1.2控件消息 146
6.1.3常用控件操作函数 147
6.2常用控件介绍 148
6.2.1静态控件 148
6.2.2按钮控件 148
6.2.3控件示例(一) 150
6.2.4编辑框控件 154
6.2.5滚动条控件 155
6.2.6列表框控件 157
6.2.7组合框控件 159
6.2.8控件示例(二) 161
6.3高级通用控件 167
6.3.1旋转按钮控件 167
6.3.2滑动条控件 169
6.3.3进度条控件 170
6.3.4控件示例(三) 171
6.3.5列表控件 173
6.3.6控件示例(四) 175
6.3.7树形控件 177
6.3.8控件示例(五) 179
6.4上机练习 180
第7章 图形设备接口 181
7.1设备上下文 182
7.1.1设备上下文类 182
7.1.2图形对象类 184
7.2坐标的映射 185
7.2.1设置映射模式 186
7.2.2设置视图区的原点 187
7.3绘制基本图形 187
7.3.1画点 187
7.3.2画线 188
7.3.3画封闭曲线 188
7.4文本的设计与实现 191
7.5画笔与画刷 194
7.5.1创建画笔 195
7.5.2创建画刷 198
7.6上机练习 201
第8章 文档和视图 203
8.1文档和视图之间相互作用的函数 204
8.1.1视图类的GetDocument()函数 204
8.1.2视图类的OnUpdate()函数 204
8.1.3视图类的OnInitialUpdate()函数 205
8.1.4文档类的UpdateAllViews()函数 205
8.2简单的文档视图应用程序 2
8.2.1文档视图应用程序举例 2
8.2.2简单的文本编辑器程序 2
8.3文档的读写 2
8.3.1MFC文档读写机制 2
8.3.2简单文档序列化示例 2
8.3.3 CArchive类用法示例 2
8.4切分窗口 226
8.4.1静态切分和动态切分 226
8.4.2 CSplitterWnd类操作 227
8.4.3静态切分窗口示例 227
8.4.4动态切分窗口示例 229
8.5一档多视 230
8.5.1带切分窗口的应用程序 230
8.5.2不带切分窗口的应用程序 237
8.6上机练习 241
第9章 数据库编程 243
9.1数据库概述 244
9.1.1数据库基础知识 244
9.1.2 Visual C++对数据库的支持 244
9.2 ODBC数据库编程 245
9.2.1 MFC的ODBC编程过程 245
9.2.2 MFC的ODBC类和查询记录 251
9.2.3编辑记录 253
9.3数据库访问控件 256
9.3.1 ADOData控件和DataGrid控件 257
9.3.2 DataList控件和DataCombo控件 264
9.4使用ADO操作数据库 266
9.5上机练习 276
第10章 动态链接库 277
10.1动态链接库DLL概述 278
10.1.1库、静态链接库和动态链接库 278
10.1.2使用动态链接库的优点 279
10.1.3如何调用DLL中的函数 279
10.2非MFC DLL 284
10.2.1简单动态链接库示例 284
10.2.2声明导出函数 288
10.2.3数据共享 288
10.2.4从DLL导出变量 289
10.2.5从DLL导出C++类 291
10.3 MFC规则DLL 295
10.3.1 MFC规则DLL的分类 295
10.3.2 MFC规则DLL的创建 296
10.4 MFC扩展DLL 300
10.4.1 MFC扩展DLL导出MFC派生类 301
10.4.2 MFC扩展DLL的加载 301
10.5上机练习 307
第11章 立体工程图的绘制 309
11.1三维图形基础 310
11.1.1图形变换中的基本概念 310
11.1.2用类来抽象三维立体图形 312
11.2点类的实现 313
11.2.1常量头文件 313
11.2.2点类 313
11.2.3透视理论 315
11.2.4透视实现 315
11.3线类的实现 317
11.3.1线类 317
11.3.2透视实现画线 318
11.4面的实现 319
11.4.1面类 320
11.4.2实现画线框面 321
11.4.3实现着色面 321
11.5体类的实现 324
11.5.1体类 324
11.5.2体类公共接口 326
11.5.3实现平移旋转 326
11.6立方体的绘制 328
11.6.1立方体类 328
11.6.2绘制立方体 330
11.6.3立方体着色 333
11.7球面的绘制 334
11.7.1球面类 335
11.7.2球面绘制 336
11.7.3球面着色 340
11.8圆柱面的绘制 341
11.9圆锥面的绘制 342
11.9.1圆锥面类 342
11.9.2绘制圆锥面 342
11.9.3圆锥面着色 343
11.10上机练习 343
第12章 工资管理系统设计 345
12.1系统概述 346
12.2需求分析 346
12.3用例图 346
12.4系统总体设计 347
12.4.1系统功能分析 347
12.4.2系统功能模块设计 347
12.5数据库设计 348
12.5.1数据库需求分析 348
12.5.2数据库设计结果 349
12.6系统主界面的创建 350
12.7建立ADO环境 354
12.8登录对话框的创建 355
12.9系统主界面的初始化 356
12.10计算公式调整对话框的创建 363
12.11工资的计算 364
12.12本月工资查看对话框的创建 366
12.13小结 367
12.14上机练习 368
第13章 物资管理系统设计 369
13.1系统概述 370
13.2需求分析 370
13.3系统功能模块 370
13.4开发环境 371
13.5数据库设计 371
13.5.1数据库需求分析 371
13.5.2数据库设计结果 372
13.6主窗体的设计实现 374
13.7系统管理模块的实现 377
13.7.1修改密码对话框的设计 377
13.7.2添加用户对话框的设计 378
13.8物资基本信息模块的实现 380
13.8.1查询物资信息对话框的设计 380
13.8.2添加物资信息对话框的设计 382
13.8.3修改物资信息的设计 384
13.8.4删除物资信息的设计 386
13.9入库信息管理模块的实现 387
13.9.1查询物资入库信息对话框的设计 387
13.9.2添加物资入库信息对话框的设计 392
13.9.3修改物资入库信息的设计 397
13.9.4删除物资入库信息的设计 399
13.10出库信息管理模块的实现 400
13.10.1查询物资出库信息对话框的设计 400
13.10.2添加物资出库信息对话框的设计 401
13.10.3修改物资出库信息的设计 403
13.10.4删除物资出库信息的设计 403
13.11余额信息管理模块的实现 405
13.12小结 407
13.13上机练习 407
第14章 屏幕捕捉程序设计 409
14.1程序的主要功能 410
14.2程序的实现过程 410
14.2.1全屏捕捉 414
14.2.2捕捉拖动鼠标选取的区域 418
14.2.3捕捉鼠标选取的窗口 420
14.2.4保存捕获到的屏幕 420
14.2.5右键快捷菜单的实现 423
14.2.6键盘钩子的使用 425
14.2.7向系统托盘区添加应用程序图标 429
14.3程序界面设计 431
14.3.1视图的拆分 431
14.3.2固定视图分割线 432
14.3.3窗口的无标题拖动 433
14.3.4位图的显示 433
14.3.5 3D文字 435
14.4小结 436
14.5上机练习 436
第15章 FTP客户端编程 437
15.1程序的主要功能 438
15.2创建应用程序框架 440
15.3列举本地文件、驱动器和用户保存的站点信息 443
15.4列举服务器文件信息、上传和下载文件 450
15.4.1列举服务器文件信息 450
15.4.2上传文件 453
15.4.3下载文件 455
15.5站点信息的添加和存储 456
15.6新建服务器目录 460
15.7删除服务器文件 461
15.8服务器目录的改变 461
15.9小结 462
15.10上机练习 463