《Visual C++ 6.0程序设计与开发技术大全》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:求是科技编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2004
  • ISBN:7115125597
  • 页数:829 页
图书介绍:本书详细介绍了利用Visual C++ 6.0开发应用程序的各项知识和诸多技巧。内容由浅入深、重点突出、实例丰富,既适于初/中级读者按部就班地学习,也可作为中/高级读者的良好参考书籍。全书共包括30章,分门别类的介绍了Visual C++ 6.0的知识,全面深入地讲解了Visual C++ 6.0的各项功能,每章先介绍基础原理,再分析各种具体的技术手段,最后是工程实践应用。既能让读者系统的学习各方面内容,又可以直接应用于项目开发。由于篇幅有限,书中没有列出所有程序的源代码,详细的源代码请查阅光盘。

第1章 Visual C++6.0概述 1

1.1 Visual C++6.0概述 1

1.1.1 Visual C++简介 1

1.1.2 Visual C++的发展过程 1

1.1.3 Visual C++的特点 1

目录 1

1.2.1 强制内联关键字 2

1.2.2 ADO数据绑定 2

1.2 Visual C++6.0的主要特性 2

1.2.3 改进的ClassView和Wizardbar 3

1.2.4 新的调试特性 3

1.2.5 命令行参数 3

1.3 Visual C++的集成开发环境 4

1.3.1 Microsoft Visual Studio 6.0的安装和配置 4

1.3.2 MFC Studio窗口元素 5

1.3.3 工具条 6

1.3.4 菜单栏 8

第2章 Visual C++6.0语言基础 13

2.1 Visual C++对标准C的扩展 13

2.1.1 Visual C++特有的关键字 13

2.1.2 预编译指令 13

2.1.3 基本数据类型的大小和容量 15

2.2 面向对象的程序设计(OOP)基础 16

2.2.1 什么是面向对象的程序设计 16

2.2.2 面向对象程序设计技术术语 16

2.3.1 C++I/O库 17

2.3 用于标准I/O的C++类 17

2.2.4 常量和变量的关系 17

2.2.3 类的概念和特性 17

2.3.2 C++中的流I/O 18

2.3.3 文件I/O 20

2.3.4 串I/O 21

2.4 在C++中使用继承 22

2.4.1 派生类 22

2.4.2 多重继承 23

2.5.1 多态性 25

2.5.2 虚函数 25

2.5 虚函数和多态性 25

2.6 C++的高级技术 26

2.6.1 模板 26

2.6.2 模板的声明和实现 27

2.6.3 多线程安全的变量模板 30

2.6.4 异常处理 38

第3章 MFC编程概述 43

3.1 什么是MFC 43

3.2 MFC的设计原理 43

3.3 MFC使用方面的优势 43

3.3.1 丰富的特性 43

3.3.2 可扩展体系结构 43

3.4 MFC层次设计 43

3.4.2 窗口 44

3.4.1 文件服务 44

3.4.3 图形 47

3.4.4 数据库支持 48

3.5 MFC程序的初始化过程 48

3.5.1 应用程序对象 50

3.5.2 主框架窗口对象 55

3.5.3 文档对象 58

3.5.4 视图对象 61

3.5.5 文档模板 64

第4章 创建第一个Visual C++应用程序 65

4.1 编写第一个工程 65

4.1.1 创建一个新工程 65

4.1.2 创建新程序的用户界面 65

4.1.3 设置用户界面中各对象的属性 68

4.1.4 ClassWizard介绍 74

4.1.5 编写程序代码 75

4.1.6 创建可执行文件 76

4.1.7 保存和运行程序 76

4.2.1 Visual C++工程概述 77

4.2 Visual C++工程的结构 77

4.2.2 设计时产生的文件以及杂项文件 77

4.2.3 运行时产生的文件 78

4.2.4 集成环境中的Visual C++项目架构 79

4.3 配置Visual C++工程 80

4.3.2 Debug 81

4.3.1 General 81

4.3.3 C/C++ 82

4.3.4 Link 83

4.3.5 Resources 84

4.3.6 MIDL 84

4.3.7 Browse Info 85

4.3.8 Custom Build 85

4.3.9 Pre-link step 86

4.3.10 Post-build step 86

第5章 窗体 87

5.1 窗体概述 87

5.1.1 窗体的基本元素 87

5.1.2 窗体类型 87

5.3 窗体的常用方法 88

5.3.1 最大化窗体的位置 88

5.3.2 默认窗体矩形 88

5.2 窗体的常用属性 88

5.4 窗体的常用事件 89

5.4.3 WM CHAR 89

5.4.2 WM KEYDOWN 89

5.4.1 WM_LBUTTONDOWN 89

5.4.7 WM QUIT 90

5.5.1 SDI结构(单文档视图窗体) 90

5.4.8 WM_PAINT 90

5.5 Visual C++中3种主要的窗体结构 90

5.4.6 WM DESTORY 90

5.4.5 WM CLOSE 90

5.4.4 WM CREATE 90

5.5.2 MDI结构(多文档视图窗体) 91

5.5.3 Dialog结构(基于对话框的窗体) 92

5.5.4 综合示例——登录窗体 95

第6章 基本控件 97

6.1 按钮控件 97

6.1.1 基本按钮 97

6.1.2 “自绘制”按钮基础知识 104

6.1.3 特色按钮 107

6.2 文本框控件 124

6.3 静态类控件 130

6.4.1 列表框(ListBox) 137

6.4 列表类控件 137

6.4.2 组合框(ComboBox) 147

6.5.1 单选框(Radio Button) 157

6.5 选择类控件 157

6.5.2 复选框(Check Box) 162

6.6 滚动条 165

第7章 文档视图设计 170

7.1 文档视图结构 170

7.1.1 文档与视图的概念和关系 170

7.1.2 文档与视图相互作用的方法 170

7.1.3 单文档(SDI)与多文档(MDI)应用程序 171

7.2 CDocument文档类 173

7.3 InitInstance函数 174

7.4 Cview视图类 176

7.4.1 声明一个视图类 176

7.4.2 分析CView成员函数 177

7.4.3 使用视图和消息 178

7.4.4 单视图与多视图应用程序 178

第8章 应用程序的调试 182

8.1 Visual Studio集成式调试程序 182

8.2 简单调试技巧 182

8.2.1 常用调试错误的解决方法 182

8.2.2 如何检查内存泄漏 183

8.2.3 动态链接库调试技巧 183

8.2.4 如何设置栈的大小 184

8.3 远程调试 184

8.4 Just-In-Time调式 185

第9章 使用菜单 187

9.1 创建和编辑菜单 187

9.1.1 创建普通菜单 187

9.1.2 创建弹出式菜单 188

9.1.3 创建菜单 189

9.1.4 MFC的菜单消息 190

9.2 加速键 191

9.2.4 多个加速键表 192

9.2.3 选择适当的加速键 192

9.2.2 定义加速键 192

9.2.1 检查键盘输入 192

9.3 动态更改菜单 193

9.3.1 菜单命令范围 193

9.3.2 运行时更改菜单 195

9.3.3 更改现有弹出菜单 195

9.3.4 永久及临时句柄映射 196

9.4 上下文菜单 197

9.5 特色菜单 198

10.2 鼠标输入 207

10.2.1 创建鼠标消息处理程序 207

第10章 键盘和鼠标 207

10.1 输入基础以及系统状态 207

10.2.2 在屏幕坐标和窗口坐标之间转换 209

10.3 创建处理鼠标事件的MFC程序 210

10.3.1 非客户鼠标事件 210

10.3.2 更改鼠标光标 211

10.4 创建更改鼠标指针的MFC演示程序 212

10.4.1 捕获鼠标 212

10.4.2 限制鼠标移动 213

10.5.1 物理键盘 214

10.5 键盘输入 214

10.5.2 回显键盘焦点 216

第11章 使用对话框 217

11.1 消息对话框 217

11.1.1 AfxMessageBox函数 217

11.1.2 CWnd∷MessageBox函数 217

11.2.1 “打开”对话框 218

11.2.2 “另存为”对话框 218

11.2 使用公用对话框 218

11.2.3 “颜色”对话框 219

11.2.4 “字体”对话框 219

11.2.5 “打印”对话框 220

11.2.6 “帮助”对话框 221

第12章 图形 222

12.1 图形设备接口GDI 222

12.1.1 设备环境类 222

12.1.2 GDI对象 222

12.2.2 坐标转换 223

12.3 设备上下文 223

12.2.1 改变对象的坐标系统 223

12.2 坐标系统概述 223

12.4 颜色和字体 225

12.4.1 颜色 225

12.4.2 字体 225

12.5 画笔和画刷 226

12.5.1 画笔 226

12.5.2 画刷 229

12.6 映射模式 233

12.6.1 映射模式简介 233

12.6.2 映射模式单位转换 234

12.7 光栅操作 241

12.7.1 文本绘图函数 241

12.7.2 文本坐标的计算 242

第13章 位图 244

13.1 使用GDI位图 244

13.2 设备无关位图 245

13.3 位图的调色板和颜色 245

13.3.1 抖动色 245

13.3.2 未经抖动色 245

13.3.3 系统调色板 246

13.3.4 动画色 246

13.4 位图内存和视频内存 247

13.5 DIB和CDib类 247

13.5.1 DIB文件剖析 247

13.5.2 CDib类 248

13.5.3 深入使用DIB 251

13.5.4 输出DIB位图文件 252

13.6 创建一个自绘位图 257

第14章 属性单和属性页 261

14.1 属性单(CpropertySheet)类和属性页(CpropertyPage)类 261

14.1.1 创建属性页资源 261

14.1.2 创建和显示属性单 262

14.2 属性单和属性页提示和技巧 262

14.2.2 添加一个控件到属性单 262

14.2.1 “应用”按钮的ID 262

14.2.4 改变Tab标签的文本 263

14.2.3 改变Tab的标签字体 263

14.2.6 增加新的子窗口 264

14.2.5 删除标准按钮 264

14.2.7 使用Image 265

15.1.2 自定义状态栏 266

15.1.1 创建状态栏 266

15.1 创建和使用状态栏 266

第15章 状态栏和工具栏 266

15.2 特色状态栏 266

15.3 创建和控制工具栏 272

15.3.1 MFC控件栏 272

15.3.2 创建和初始化一个工具栏 273

15.3.3 程序控制工具栏 274

15.4 特色工具栏 275

15.3.4 改变工具栏风格 275

15.5 综合示例——小小时钟 280

16.1.1 打印术语 289

16.1.2 打印机技术指标 289

第16章 打印和打印预览 289

16.1 打印机信息 289

16.1.3 分辨率 290

16.2 用MFC进行打印(CPrintInfo类) 290

16.3 输出文本 295

16.3.1 创建字体 295

16.3.2 特殊文本的输出 296

16.4.1 选择打印机 299

16.4 打印机的控制 299

16.4.2 监测当前打印机状态 300

16.4.3 设置打印参数 304

16.5.1 框架后的秘密 308

16.5 打印预览体系结构 308

16.5.2 在对话框中实现打印预览 325

17.1.1 播放录制好的声音 343

第17章 多媒体编程 343

17.1.2 MIDI和WAV文件 343

17.1 音频处理 343

17.1.3 CD音频 362

17.1.4 调节音量 363

17.2.1 使用MCI控件 381

17.2 视频处理 381

17.2.2 播放AVI文件 384

17.2.3 播放Flash 399

17.3.1 字体和文本函数 412

17.3 文本处理 412

17.3.2 枚举系统中所有字体范例 413

17.3.3 创建特殊的字体效果 420

18.1.1 网络协议 429

18.1 网络基本知识 429

第18章 初级网络编程 429

18.1.2 网络接口 435

18.1.3 网络地址 437

18.1.4 网络开发环境-C/S模式 439

18.2 WinInet类 440

18.2.1 CInternetSession类 441

18.2.2 CInternetSession类的使用 449

18.2.3 CInternetConnect类 451

18.3.1 CFtpConnection类 452

18.3 CFtpConnection类 452

18.3.2 FTP客户端请求 456

18.3.3 CInternetFile类 459

18.3.4 CFtpFileFind类 462

18.4 HTTP客户端请求 466

18.4.1 CHttpConnection类 466

18.4.2 CHttpFile类 468

18.4.3 检索HTTP文件 472

18.5 本章实例——使用WinInet类开发FTP客户端 480

18.6 本章小结 502

第19章 套接字和CSocket类 503

19.1 Windows套接字 503

19.1.1 套接字 503

19.1.2 套接字的适用范围 505

19.1.3 Socket编程模型与Winsock规范 505

19.2.1 初始化Winsock 508

19.2 创建套接字 508

19.2.2 建立Windows套接字 509

19.3 面向连接的协议 511

19.2.3 错误检查和控制 511

19.3.1 服务器API函数 512

19.3.2 客户端API函数 516

19.3.3 数据传输 518

19.3.4 流协议 522

19.3.5 中断连接 523

19.3.6 简单的客户端/服务器示例 524

19.4 无连接协议 532

19.4.1 bind函数 532

19.4.2 创建服务器套接字 535

19.4.3 接收端 535

19.4.4 发送端 536

19.4.6 释放套接字资源 537

19.4.5 基于消息的协议 537

19.4.7 无连接的套接字示例 538

19.5.1 CAsyncSocket类和CSocket类 545

19.5 MFC的Winsock编程 545

19.5.2 Socket类编程模型 547

19.6 本章实例——使用Winsock开发FTP客户端 549

19.6.1 封装CFtpClient类 550

19.6.2 程序组织和界面 558

19.7 本章小结 562

20.1.1 Microsoft IIS及IIS的实现方法 563

20.1 Microsoft Internet信息服务器IIS编程 563

第20章 深入网络编程 563

20.1.2 ISAPI服务器扩展 566

20.1.3 ISAPI数据库访问 575

20.1.4 ISAPI过滤器 580

20.2.1 ActiveX文档理论知识 586

20.2 ActiveX文档服务器及Internet 586

20.2.2 ActiveX文档服务器范例 588

20.3 动态HTML介绍 591

20.3.1 HTML 591

20.3.2 动态HTML 592

20.4 本章小结 595

第21章 内存管理 596

21.1 系统内存管理 596

21.1.1 Intel-86 32位分页寻址模式 598

21.1.2 Windows 2000单进程地址空间 599

21.1.3 系统内存清理 605

21.2 进程私有内存 606

21.2.1 分配页 607

21.2.2 编译器内存分配 613

21.2.3 Win32私有堆 616

21.3 共享内存 624

21.3.1 内存映射文件I/O 624

21.3.2 动态分配共享页 634

21.3.3 静态分配共享页 637

21.3.4 定制资源 638

21.4.1 程序1——虚拟内存分配的示例程序 639

21.4 示例程序 639

21.4.2 程序2——共享内存映射文件的示例程序 647

21.5 本章小结 650

第22章 用VC++6.0开发数据库应用程序概述 651

22.1.2 VC++6.0开发数据库的相关技术 651

22.1.1 VC++6.0开发数据库技术的特点 651

22.1 选择VC++开发数据应用程序 651

22.2.1 数据库的发展历史 652

22.2 数据库的基本概念 652

22.2.2 数据库系统的特点 653

22.2.4 数据库管理系统 654

22.2.3 数据库系统结构 654

22.3.1 数据模型 655

22.3 关系型数据库 655

22.3.2 数据库对象 656

22.4 当前流行的几种数据库 658

22.5.2 选择数据库管理系统的原则 660

22.5 如何进行数据库应用程序的开发 660

22.5.1 数据库应用程序的基本开发步骤 660

22.6 本章小结 662

23.2 创建Access 2002数据库 663

第23章 设计、创建和维护Access数据库 663

23.1 Access简介 663

23.3 创建数据表 664

23.3.1 使用表向导创建表 664

23.3.2 使用“设计视图”创建表 666

23.4 设计和修改数据表的结构 666

23.4.1 字段属性 666

23.4.2 数据表的修改 667

23.4.3 设置索引 667

23.5 设计表之间的关系 668

23.5.1 关系介绍 668

23.5.2 建立表之间的关系 669

23.6.2 修改已有数据 670

23.6.3 删除选定记录 670

23.6.1 输入新数据 670

23.6 编辑管理数据记录 670

23.7 本章小结 671

23.6.4 查询浏览记录 671

24.1 ODBC数据源介绍 672

24.1.2 ODBC的标准 672

24.1.1 初识数据源 672

第24章 设置ODBC数据源 672

24.1.4 ODBC驱动程序 673

24.1.3 ODBC的体系结构 673

24.2.1 管理器介绍 674

24.2 使用管理器设置ODBC数据源 674

24.2.2 通过管理器设置Access数据源 675

24.2.3 通过管理器设置SQL Server数据源 676

24.3 动态加载数据源 677

24.3.1 通过修改注册表加载数据源 677

24.4.1 文件数据源的简介及应用 679

24.4 特殊数据源的连接方式 679

24.3.2 通过ODBC API加载数据源 679

24.4.2 远程数据库的连接 681

24.5 本章小结 682

25.1.2 SQL语言的特点 683

25.1.1 SQL语言的分类 683

第25章 标准SQL语句 683

25.1 SQL语言概述 683

25.2.1 SELECT子句选择字段 684

25.2 最常用的SQL查询语句 684

25.2.2 AS子句设置字段别名 685

25.2.3 FROM子句确定记录源 685

25.2.4 WHERE子句定义查询条件 686

25.2.5 ORDER BY子句对记录排序 686

25.2.6 GROUP BY子句进行分组查询 687

25.2.7 BETWEEN和IN子句设定匹配范围 687

25.2.8 LIKE子句进行通配查询 688

25.2.9 HAVING子句设定统计条件 689

25.2.10 SQL函数进行统计查询 689

25.3.2 删除数据——DELETE子句 690

25.3 功能增强的SQL语句 690

25.3.1 插入数据——INSERT子句 690

25.4 关系数据库的联合查询技术 691

25.4.1 联合查询 691

25.3.3 更新数据——UPDATE子句 691

25.4.2 连接查询 692

25.5 本章小结 693

第26章 使用ODBC API访问数据库 695

26.1 ODBC API基础 695

26.1.1 ODBC API体系结构 695

26.1.2 ODBC API句柄 695

26.1.3 ODBC数据类型 697

26.1.4 ODBC诊断 698

26.2 使用ODBC API编程建立应用程序 700

26.2.1 ODBC API编程模型概述 700

26.2.2 连接数据库 701

26.2.3 准备并执行SQL语句 705

26.2.4 获取记录集 708

26.2.5 记录的添加、删除和更新 710

26.2.6 错误处理 713

26.2.7 事务处理 713

26.2.8 断开数据源连接并释放环境句柄 715

26.3 本章小结 716

第27章 使用MFC ODBC访问数据库 717

27.1 MFC ODBC技术 717

27.1.1 概述 717

27.1.2 CDatabase类操作数据源 717

27.1.3 CRecordset类操作记录集 718

27.2.1 MFC ODBC编程模型概述 719

27.2 使用MFC ODBC编程建立应用程序 719

27.1.5 CRecordView类显示记录 719

27.1.6 CDBException类处理异常 719

27.1.4 CFieldExchange类处理数据交换 719

27.2.2 通过AppWizard建立数据库应用程序 720

27.2.3 使用CDatabase类方法打开数据源 722

27.2.4 使用CRecordset类打开记录集 723

27.2.5 绑定记录集 724

27.2.6 参数化记录集和查询 725

27.2.7 遍历记录集合 726

27.2.8 书签定位和绝对定位 727

27.2.9 获取记录集的数据 728

27.2.10 添加记录 729

27.2.11 删除记录 730

27.2.12 修改记录 731

27.2.13 直接执行SQL语句(增加、删除表等) 732

27.2.14 事务处理 733

27.2.15 使用多记录集 734

27.3 本章小结 735

第28章 使用DAO操作数据库 736

28.1 DAO技术 736

28.1.1 概述 736

28.1.2 与ODBC的比较 736

28.1.3 DAO的结构 737

28.2 使用MFC DAO编程建立应用程序 740

28.2.1 MFC DAO编程模型概述 740

28.2.2 通过AppWizard建立数据库应用程序 741

28.2.3 建立一个基类为CdaoDatabase的类MyCourse 741

28.2.4 使用CDaoDatabase类打开数据库 742

28.2.5 使用CDaoRecordset类打开记录集 743

28.2.6 遍历记录集合 744

28.2.7 获取记录集的数据 745

28.2.8 添加记录 746

28.2.9 删除记录 747

28.2.10 修改记录 748

28.2.11 直接执行SQL语句(增加、删除记录等) 748

28.2.12 事务处理 749

28.3.1 使用CDaoTableDef进行数据库表操作 751

28.3 使用CDaoTableDef、CDaoFieldExchange、CDaoQueryDef 751

28.2.13 关闭数据库 751

28.3.2 使用CDaoFieldExchange进行数据库表字段的操作 754

28.3.3 使用CDaoQueryDef进行数据库查询操作 755

28.4 本章小结 758

29.1 概述 759

第29章 使用OLEDB操作数据库 759

29.2 COM简介 760

29.2.1 COM中的基本概念 760

29.2.2 对象服务器的类型和特点 761

29.2.3 接口的特点和使用 762

29.2.4 对象使用者使用对象和接口的方法 765

29.3 OLE DB的原理 768

29.3.1 OLE DB应用程序的结构 768

29.3.2 OLEDB对象的结构 768

29.4 OLE DB客户模板 772

29.4.1 模板的定义和使用 772

29.4.2 客户模板的结构 773

29.5 使用OLEDB客户模板开发用户程序 781

29.5.1 OLEDB客户模板的编程模型 781

29.5.2 通过AppWizard建立数据库应用程序 782

29.5.3 打开数据源对象和会话对象 787

29.5.4 打开行集对象 788

29.5.5 遍历记录集 790

29.5.6 访问记录集中的数据 792

29.5.7 添加记录 792

29.5.8 修改记录 793

29.5.9 删除记录 794

29.5.10 直接执行操作数据库的命令 794

29.6 本章小结 796

第30章 使用ADO操作数据库 797

30.1 ADO技术介绍 797

30.1.1 ADO简介 797

30.1.2 ADO技术的特点 797

30.1.3 ADO结构 798

30.1.4 开发ADO应用程序的方法 798

30.2.1 连接对象 799

30.2 ADO对象及集合 799

30.2.2 命令对象 800

30.2.3 记录集对象 801

30.2.4 域对象 802

30.2.5 参数对象 803

30.2.6 错误对象 804

30.2.7 属性对象 805

30.2.8 集合 805

30.3.1 ADO对象编程模型 807

30.3 使用ADO对象开发数据库应用程序 807

30.3.2 ADO中的智能指针 808

30.3.3 引入ADO动态链接库 808

30.3.4 初始化OLE/COM库环境 809

30.3.5 创建ADO与数据源的连接 809

30.3.6 获得记录集 811

30.3.7 遍历记录集 814

30.3.8 访问记录集中的数据 815

30.3.9 添加记录 821

30.3.10 修改记录 822

30.3.11 删除记录 824

30.3.12 查询记录 825

30.3.13 事务处理 828

30.3.14 关闭记录集和连接 828

30.4 本章小结 828