《Visual C++ 6.0开发指南》PDF下载

  • 购买积分:25 如何计算积分?
  • 作  者:高守传,聂云铭,郑静编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115164762
  • 页数:958 页
图书介绍:本书以Visual C++6.0为开发工具,从工程应用的角度出发,系统而又全面的介绍VC开发的方方面面知识,力求成为VC开发的百科全书。全书分为5篇共计25章,内容涵盖了C++及VC程序框架,VC的基本开发要素,如基本输入输出、通用控件、工具栏、状态栏、设备描述表以及MFC通用类等,对话框和文件视图结构程序设计,打印、帮助、调试,DLL编程,多线程程序设计,注册表编程,ActiveX控件编程以及数据库、网络编程、数字图像处理和多媒体编程等。本书力求广度和宽度的兼顾,在内容编排上由浅入深,以点带面,通过程序实例带动知识点的形式,让用户能够轻松上手。本书主要定位于初、中级读者,同时也可用作培训班以及高校师生的参考教材。要求读者具备一定的C++的基本语法知识。

第1篇 Visual C++程序开发基础 3

第1章 Visual C++与面向对象技术概述   3

1.1 面向对象技术   3

1.1.1 面向对象的基本概念   3

1.1.2 面向对象技术的基本特征   5

1.1.3 面向对象设计语言与Visual C++   5

1.2 C++的面向对象特性   7

1.2.1 C++中的类与对象   7

1.2.2 C++类的继承与派生   9

1.2.3 类的继承实例   11

1.2.4 虚函数与多态   13

1.2.5 虚函数实现运行时多态实例   15

1.2.6 动态联编与虚函数表   17

1.3 C++的一些重要要素   18

1.3.1 类的静态成员   18

1.3.2 const常量   19

1.3.3 this指针   20

1.3.4 inline内联函数   20

1.3.5 &操作符引用类型   21

1.3.6 友元   22

1.3.7 操作符重载   22

1.3.8 模板   25

第2章 Visual C++6.0概述   30

2.1 Visual C++6.0及其开发环境   30

2.2 Visual C++6.0的菜单栏   31

2.2.1 “File”菜单   32

2.2.2 “Edit”菜单   35

2.2.3 “View”菜单   38

2.2.4 “Insert”菜单   40

2.2.5 “Project”菜单   41

2.2.6 “Build”菜单   42

2.2.7 “Debug”菜单   44

2.2.8 “Tools”菜单   45

2.3 Visual C++6.0的资源及资源编辑器   47

2.3.1 资源编辑器   47

2.3.2 资源符号   48

2.3.3 对话框编辑器   49

2.3.4 加速键表及其编辑器   50

2.3.5 串表及其编辑器   51

2.3.6 版本信息编辑器   52

2.3.7 图形编辑器   52

第3章 应用程序框架   54

3.1 Windows编程基础   54

3.1.1 Windows API编程基础   54

3.1.2 窗口   54

3.1.3 事件驱动   55

3.1.4 句柄   56

3.1.5 消息   56

3.1.6 Windows应用程序的常用消息   57

3.2 Windows应用程序的组成及编程   58

3.2.1 典型的Windows程序结构   58

3.2.2 入口函数WinMain()   58

3.2.3 窗口函数WinProc()   61

3.2.4 常用的数据类型   62

3.2.5 API编程实例   63

3.3 MFC基础   66

3.3.1 MFC简介   67

3.3.2 MFC类库   67

3.3.3 应用程序体系结构类   68

3.4 MFC应用程序开发   69

3.4.1 简单的MFC程序分析   69

3.4.2 MFC对象和Windows对象   71

3.4.3 MFC的命名规则   72

3.4.4 MFC的全局函数与宏   73

3.4.5 MFC应用程序的创建   74

3.4.6 MFC程序执行过程   74

3.5 MFC消息映射及消息处理   75

3.5.1 消息映射宏   76

3.5.2 MFC消息的分类及消息映射   76

3.5.3 消息处理   78

第2篇 Visual C++基本程序开发要素第4章 基本输入处理   81

4.1 C++中的I/O流处理   81

4.1.1 iostream流类库   81

4.1.2 非格式化输入/输出   82

4.1.3 非格式化输入/输出实例   83

4.1.4 格式化输入/输出   85

4.1.5 格式化输入/输出实例   87

4.2 键盘和键盘消息处理   89

4.2.1 键盘消息   89

4.2.2 按键消息及其处理   90

4.2.3 字符消息及其处理   91

4.2.4 键盘输入的其他相关编程技术   92

4.2.5 键盘处理编程实例   92

4.3 鼠标消息及其处理   96

4.3.1 客户区鼠标消息   97

4.3.2 非客户区鼠标消息   98

4.3.3 鼠标捕捉   99

4.3.4 鼠标光标及其处理   100

4.3.5 常用的鼠标操作API函数   102

4.3.6 鼠标处理编程实例   106

第5章 菜单、工具栏、状态栏及其相关资源   110

5.1 菜单的使用   110

5.1.1 菜单消息   111

5.1.2 使用菜单编辑器生成下拉菜单   112

5.1.3 简单的下拉菜单创建及使用实例   113

5.1.4 动态操作菜单   117

5.1.5 动态操作菜单实例   119

5.1.6 弹出式菜单编程   122

5.1.7 弹出式菜单编程实例   123

5.1.8 菜单项中使用图标   125

5.1.9 快捷键   126

5.2 工具栏的使用   129

5.2.1 控件栏与CControlBar类   129

5.2.2 工具栏及工具栏类CToolBar 131

5.2.3 工具栏的简单实例   131

5.2.4 工具栏的创建过程   135

5.2.5 工具提示   137

5.2.6 工具栏的高级应用   138

5.3 状态栏的使用   143

5.3.1 状态栏类CStatusBar   143

5.3.2 状态栏的简单应用   144

5.3.3 状态栏的创建   145

5.3.4 状态栏的创建实例   147

第6章 设备描述表和图形对象   151

6.1 设备描述表的相关概念   151

6.1.1 图形设备接口与设备描述表   151

6.1.2 设备描述表的类型   152

6.1.3 图形对象   152

6.2 MFC设备描述表基类CDC   153

6.2.1 CDC类简介   153

6.2.2 CDC类常用函数   153

6.2.3 CDC类应用实例   156

6.3 CDC类的派生类   158

6.3.1 CPaintDC类   158

6.3.2 CClientDC类   160

6.3.3 CWindowDC类   161

6.4 坐标系统与映射方式   163

6.4.1 GDI坐标系统   163

6.4.2 映射方式   163

6.4.3 坐标映射实例   165

6.5 画笔、画刷和字体   166

6.5.1 画笔(CPen)   166

6.5.2 画刷(CBrush)   167

6.5.3 字体(CFont)   168

6.5.4 应用实际   170

6.6 位图与调色板   172

6.6.1 设备相关位图(DDB)   172

6.6.2 CBitmap应用实例   174

6.6.3 设备无关位图(DIB)   176

6.6.4 调色板(CPalette)   177

6.6.5 CPalette应用实例   179

6.7 区域   182

6.7.1 区域的选择和建立   182

6.7.2 区域的操作   182

6.7.3 类CRgn 184

6.7.4 区域操作实例   185

第7章 Windows通用控件   187

7.1 Windows通用控件及其相关操作   187

7.1.1 Windows通用控件及其相关类   187

7.1.2 控件的创建方法   189

7.1.3 通用控件的常用操作   190

7.1.4 控件的消息及其处理   191

7.2 按钮控件   194

7.2.1 基本概念   194

7.2.2 MFC对按钮控件的支持   194

7.2.3 使用ClassWizard添加成员变量和消息映射   197

7.2.4 动态创建、设置按钮属性   198

7.2.5 与按钮控件有关的CWnd成员函数   200

7.2.6 单选按钮的相关操作   201

7.2.7 按钮控件使用实例   202

7.3 编辑控件、列表框和组合框   207

7.3.1 编辑控件基本概念   207

7.3.2 MFC对编辑控件的支持   208

7.3.3 对话框数据验证(DDV)   212

7.3.4 编辑控件应用实例   214

7.3.5 列表框的基本概念   216

7.3.6 MFC对列表框的支持   217

7.3.7 列表框的常用操作及派生类   220

7.3.8 组合框的基本概念   221

7.3.9 MFC对组合框的支持   222

7.3.10 组合框的常用操作及派生类   225

7.3.11 列表框、组合框应用实例   226

7.4 微调控件、滑块控件、滚动条和进度条   230

7.4.1 微调控件的基本概念   230

7.4.2 MFC对微调控件的支持   231

7.4.3 微调控件的常用操作   233

7.4.4 滑块控件的基本概念   235

7.4.5 MFC对滑块控件的支持   236

7.4.6 滑动控件的常用操作   238

7.4.7 滚动条控件的基本概念   239

7.4.8 MFC对滚动条控件的支持   240

7.4.9 进度条控件的基本概念   242

7.4.10 MFC对进度条控件的支持   242

7.4.11 应用实例   243

7.5 列表视图控件和树形视图控件   249

7.5.1 列表视图控件的基本概念   250

7.5.2 MFC对列表视图控件的支持   251

7.5.3 列表视图控件的常用操作   255

7.5.4 树形视图控件的基本概念   257

7.5.5 MFC对树形视图控件的支持   259

7.5.6 树形视图控件的常用操作   262

7.5.7 列表视图控件和树形视图控件的应用实例   263

7.6 其他一些控件的简单介绍   268

7.6.1 IP地址控件   268

7.6.2 月历控件   269

7.6.3 时间、日期提取控件   271

第8章 MFC通用类   275

8.1 字符串类(CString)   275

8.1.1 CString与UNICODE 275

8.1.2 CString对象的内存分配   277

8.1.3 CString对象的创建   277

8.1.4 CString类的主要成员函数   278

8.1.5 CString常用的操作   279

8.1.6 CString类型转换   283

8.2 数组类(CArray)   285

8.2.1 数组类简介   285

8.2.2 数组类的成员函数   286

8.2.3 CArray数组模板类的使用实例   287

8.3 链表类(CList)   291

8.3.1 链表类简介   291

8.3.2 链表类的成员函数   292

8.3.3 链表类的常用操作   293

8.3.4 链表类的应用实例   294

8.4 日期、时间类   299

8.4.1 CTime类及其成员函数   299

8.4.2 CTime类常用操作   300

8.4.3 CTimeSpan类   302

8.4.4 CTimeSpan类的使用   303

8.4.5 COleDataTime和COleDataTimeSpan类   304

8.4.6 WM_TIMER消息与定时器   304

8.4.7 简单定时器实例   306

第3篇 Visual C++基本应用程序开发第9章 对话框编程   311

9.1 对话框的基本概念与操作   311

9.1.1 模态与非模态对话框   311

9.1.2 策划话框类CDialog 312

9.1.3 设计对话框模板并与对话框类连接   313

9.2 对话框的创建   316

9.2.1 创建模态对话框   316

9.2.2 模态对话框创建实例   316

9.2.3 创建非模态对话框   318

9.2.4 非模态对话框创建实例   320

9.2.5 模态对话框与非模态对话框的区别   322

9.3 对话框消息与常用函数   322

9.3.1 对话框消息处理   322

9.3.2 控件与控件类的连接   324

9.3.3 对话框中常用函数的执行顺序   325

9.4 对话框数据交换与验证   326

9.4.1 绑定数据成员与控件   326

9.4.2 数据交换及交换方向的确定   327

9.4.3 数据验证   328

9.4.4 对话框使用实例   329

9.5 基于对话框的应用程序   332

9.5.1 AppWizard创建基于对话框的应用程序框架   332

9.5.2 基于对话框的应用程序框架结构   335

第10章 常用对话框   337

10.1 消息对话框   337

10.1.1 MessageBox对话框   337

10.1.2 AfxMessageBox对话框   340

10.2 通用对话框   340

10.2.1 通用对话框的支持类   341

10.2.2 颜色对话框   342

10.2.3 字体对话框   344

10.2.4 颜色、字体对话框使用实例   346

10.2.5 文件对话框   349

10.2.6 查找、替换对话框   351

10.2.7 打印对话框   355

10.2.8 页面设置对话框   356

10.3 属性表对话框   358

10.3.1 标签控件   358

10.3.2 使用标签控件实现属性表对话框实例   361

10.3.3 属性表和属性页   367

10.3.4 属性表的创建   369

10.3.5 属性表的按钮处理   369

10.3.6 属性表编程实例   370

10.4 应用向导对话框   374

10.4.1 常用的应用向导函数   375

10.4.2 应用向导开发   375

第11章 基于文档/视图的程序开发   378

11.1 文档/视图结构   378

11.1.1 文档/视图结构简介   378

11.1.2 MFC文档/视图结构相关的类   379

11.2 单文档应用程序框架的建立与分析   380

11.2.1 利用AppWizard建立单文档应用程序框架   380

11.2.2 单文档应用程序框架所使用的类   382

11.2.3 单文档应用程序框架的简单实现过程   383

11.2.4 单文档应用程序框架的资源   384

11.3 文档/视图结构开发基础   385

11.3.1 CDocument类及其常用函数   385

11.3.2 CView类及其常用函数   386

11.3.3 文档的读写操作   387

11.3.4 文档/视图结构的应用程序执行流程   389

11.3.5 文档/视图的初始化和清除   391

11.4 文档/视图结构开发实例   392

11.4.1 实例说明   392

11.4.2 视图的处理   392

11.4.3 文档的处理   395

11.4.4 文档数据的序列化   399

11.4.5 视图窗口的滚动处理   401

11.5 多视的实现——窗口分割   403

11.5.1 窗口分割的基本概念   403

11.5.2 窗口分割的支持类CSplitterWnd   404

11.5.3 动态分割窗口的实例   406

11.6 静态分割窗口与多视图的实例   407

11.6.1 实例说明   408

11.6.2 创建工程   408

11.6.3 添加视图类   408

11.6.4 静态分割窗口的实现   410

11.6.5 窗格视图与文档的交互   412

11.7 多文档应用程序开发   414

11.7.1 多文档的应用程序的特点   414

11.7.2 多文档应用程序框架的创建及分析   415

11.7.3 多文档应用程序各类的关系   417

11.7.4 多文档应用程序开发实例   419

第12章 文件操作   421

12.1 C++中文件的I/O操作   421

12.1.1 文件的I/O类及其使用   421

12.1.2 C++的文件流进行文件管理实例   423

12.2 Win32 API函数进行文件操作   425

12.2.1 打开与关闭文件   425

12.2.2 文件的读写   427

12.2.3 文件指针位置设置及获取文件大小   429

12.2.4 文件的异步读写   430

12.2.5 文件的复制、删除、移动和重命名   431

12.2.6 文件的查找与遍历   432

12.2.7 文件遍历实例   433

12.2.8 获取驱动器的信息   435

12.2.9 目录操作   437

12.3 MFC文件操作类——CFile   438

12.3.1 CFile类简介   438

12.3.2 CFile对象的构造类函数   439

12.3.3 输入输出方法   440

12.3.4 文件定位函数   441

12.3.5 CFile类的其他常用函数   441

12.3.6 使用CFile类进行文件操作实例   443

12.4 CFile的派生类与CFileFind类   446

12.4.1 CStdioFile类   446

12.4.2 CMemFile类   447

12.4.3 CSharedFile类   448

12.4.4 CFileFind类   448

第13章 打印与帮助   450

13.1 文档/视图结构的打印与打印预览   450

13.1.1 文档/视图结构自动实现的打印与打印预览   450

13.1.2 CPrintlnfo结构   452

13.1.3 打印操作   453

13.1.4 打印预览   455

13.1.5 打印比例   456

13.1.6 打印实例——“所见即所得”打印   456

13.2 WinHelp帮助   457

13.2.1 应用程序框架与WinHelp   457

13.2.2 WinHelp帮助文件的制作   459

13.2.3 应用程序框架中WinHelp的使用过程   462

13.2.4 WinHelp帮助的添加   465

13.3 HtmlHelp帮助   467

第14章 内存管理、调试与异常   470

14.1 Win32的内存管理   470

14.1.1 内存分配   470

14.1.2 堆内存的管理   471

14.1.3 虚拟内存的管理   474

14.1.4 C++中的简单内存分配   477

14.2 内存泄漏   478

14.3 Visual C++程序的调试技术   478

14.3.1 配置调试环境   478

14.3.2 设置调试断点   479

14.3.3 断点的取消   482

14.3.4 控制程序的运行   482

14.3.5 查看工具   483

14.3.6 高级调试技术   485

14.4 Visual C++异常处理   488

14.4.1 C++的异常处理   488

14.4.2 MFC异常类   489

14.4.3 MFC异常的使用   491

第4篇 Visual C++高级开发技术 495

第15章 动态链接库编程   495

15.1 DLL基础   495

15.1.1 动态链接库与静态链接库   495

15.1.2 DLL的工作原理   496

15.1.3 DLL的特点   497

15.1.4 Visual C++中DLL的分类   498

15.1.5 导入/导出的概念   498

15.2 非MFC动态库   499

15.2.1 Win32 DLL的创建   499

15.2.2 导出函数   500

15.2.3 DLL的调用实例(显式链接)   501

15.2.4 DLL的调用方式   503

15.2.5 隐式链接DLL实例   504

15.2.6 DLL程序调试   506

15.3 DLL的其他相关知识   507

15.3.1 DIIMain函数   507

15.3.2 函数调用的约定   508

15.3.3 导出变量DLL的开发   508

15.3.4 导出变量DLL的调用   510

15.3.5 导出类的DLL开发实例   512

15.3.6 导出类的DLL调用   515

15.4 MFC规则DLL   518

15.4.1 MFC规则DLL的基本概念   518

15.4.2 MFC规则DLL创建实例   518

15.4.3 MFC规则DLL的调用实例   521

15.5 MFC扩展DLL   523

15.5.1 MFC扩展DLL概述   523

15.5.2 MFC扩展DLL的创建实例   524

15.5.3 MFC扩展DLL的调用实例   528

15.6 钩子(HOOK)技术   531

15.6.1 钩子的基本原理   532

15.6.2 钩子的编写过程   533

15.6.3 全局钩子DLL创建实例   535

15.6.4 全局钩子DLL调用实例   539

第16章 注册表编程   541

16.1 注册表的基本概念   541

16.1.1 注册表文件构成   541

16.1.2 注册表的结构   542

16.1.3 注册表的作用   543

16.2 常用的注册表键   544

16.2.1 HKEY_LOCAL_MACHINE根键   544

16.2.2 HKEY_CURRENT_USERS根键   545

16.2.3 HKEY_CLASS_ROOT根键   545

16.2.4 HKEY_USERS根键   545

16.2.5 HKEY_CURRENT_CONFIG根键   546

16.3 简单的注册表操作实例   546

16.3.1 实例说明   546

16.3.2 开发过程   546

16.3.3 程序要点   548

16.4 注册表函数   550

16.4.1 打开/关闭注册表键   551

16.4.2 获取、设置、删除注册表中的键值   552

16.4.3 创建/删除键   554

16.4.4 枚举每一个子键   556

16.4.5 注册表函数综合应用实例   557

16.5 注册表类CRegKey   561

16.5.1 打开/关闭注册表键成员函数   562

16.5.2 注册表键值的操作成员函数   562

16.6 创建自己的注册表类   564

16.6.1 CRegistry类的声明   565

16.6.2 CRegistry类的实现   566

16.7 CWinApp类实现的注册表操作   570

16.7.1 SetRegistryKey函数   571

16.7.2 CWinApp类中读写注册表信息函数   571

16.7.3 CWinApp类读写注册表信息实例   572

第17章 多线程程序设计   579

17.1 Windows多任务的概念   579

17.1.1 进程   579

17.1.2 线程   579

17.1.3 用Spy++工具观察进程和线程   580

17.2 简单的多线程实例   581

17.2.1 实例说明   581

17.2.2 实例创建过程   581

17.2.3 要点说明   589

17.3 Win32API线程处理   590

17.3.1 线程的创建和终止函数   590

17.3.2 线程的终止条件   592

17.3.3 线程的优先级   593

17.3.4 线程优先级操作   594

17.3.5 线程的调度   594

17.4 MFC线程处理   595

17.4.1 MFC线程简介   595

17.4.2 用户界面线程的创建   596

17.4.3 用户界面线程创建实例   598

17.4.4 工作线程的创建   602

17.4.5 工作线程的创建实例   602

17.5 线程间的通信   605

17.5.1 使用全局结构实现线程间的通信   605

17.5.2 使用自定义的消息实现线程间的通信   606

17.5.3 线程间通信的实例   607

17.6 线程的同步   609

17.6.1 线程同步的概念   609

17.6.2 CEvent类实现线程同步   609

17.6.3 等待函数   611

17.6.4 CEvent类线程同步实例   612

17.6.5 CCriticalSection类实现线程同步   614

17.6.6 CMutex类实现线程同步   615

17.6.7 CSemaphore类实现线程同步   615

17.6.8 CSemaphore类线程同步实例   616

17.7 多线程编程综合实例   618

17.7.1 实例说明   618

17.7.2 实例创建过程   619

17.7.3 实例开发要点   624

第18章 ActiveX控件的使用与开发   626

18.1 ActiveX控件概述   626

18.1.1 ActiveX控件简介   626

18.1.2 ActiveX控件的结构   626

18.1.3 ActiveX控件的特点   628

18.2 MFC中ActiveX控件的使用   628

18.2.1 Visual C++中的组件和控件库   628

18.2.2 MFC中ActiveX控件的使用方法   629

18.3 对话框应用程序中使用ActiveX控件实例   630

18.3.1 实例说明   630

18.3.2 实例开发过程   631

18.3.3 程序要点分析   637

18.4 非对话框应用程序中ActiveX控件的使用   637

18.4.1 ActiveX控件的动态创建   637

18.4.2 实例说明   638

18.4.3 实例开发过程   638

18.5 ActiveX控件的开发   641

18.5.1 ActiveX控件的基本要求   642

18.5.2 MFC对ActiveX控件的支持   642

18.5.3 使用MFC开发ActiveX控件实例   645

18.5.4 测试ActiveX控件   650

18.5.5 ATL简介   652

18.5.6 使用ATL开发ActiveX控件实例   653

第5篇 Visual C++专项应用开发技术第19章 数据库及SQL基础   661

19.1 数据库概述   661

19.1.1 数据库系统的基本概念   661

19.1.2 数据模式   662

19.2 关系型数据库系统   663

19.2.1 关系模型简介   664

19.2.2 关系数据结构   664

19.2.3 关系模型的完整性约束   666

19.3 关系型数据库设计   667

19.3.1 设计流程   667

19.3.2 E-R数据模型和E-R图   668

19.4 SQL概述   670

19.4.1 SQL语言的特点   670

19.4.2 基本概念和数据类型   671

19.4.3 SQL语言的分类   672

19.5 数据定义语言(DDL)   673

19.5.1 新建、删除与修改表   673

19.5.2 新建和取消视图   674

19.5.3 新建和删除索引   675

19.6 简单的SQL查询语言   675

19.6.1 SELECT子句和FROM子句   676

19.6.2 WHERE子句定义查询条件   677

19.6.3 GROUP BY子句对查询结果分组   679

19.6.4 ORDER BY子句对查询结果分组   679

19.7 深入SQL查询语言   680

19.7.1 集合查询   680

19.7.2 连接查询   680

19.7.3 嵌套查询   682

19.8 SQL中的视图   684

19.8.1 定义和删除视图   684

19.8.2 查询视图   685

19.9 数据操纵语言(DML)   686

19.9.1 INSERT语句   686

19.9.2 DELETE语句   687

19.9.3 UPDATE语句   688

19.9.4 视图的更新   689

19.10 数据控制语言(DCL)   689

19.10.1 数据库安全   690

19.10.2 访问控制   690

19.10.3 授权操作和收回权限操作   691

19.10.4 事务控制和并发控制简介   692

第20章 ADO数据库编程   694

20.1 概述   694

20.1.1 数据库编程概述   694

20.1.2 ODBC API   694

20.1.3 MFC ODBC   695

20.1.4 DAO   695

20.2 ADO技术   696

20.2.1 COM技术简介   696

20.2.2 ADO与OLEDB 696

20.2.3 ADO的对象模型简介   698

20.2.4 ADO编程概述   700

20.3 开发实例——前期准备   703

20.3.1 设计和创建数据库   704

20.3.2 构建程序框架   705

20.3.3 引入ADO动态链接库   709

20.3.4 初始化COM库环境   710

20.4 开发实例——创建ADO与数据库的连接   710

20.4.1 使用Connection对象打开连接   711

20.4.2 例程中实现数据库连接   712

20.5 开发实例——使用记录集对象查询数据库   713

20.5.1 记录集对象的属性和方法   714

20.5.2 主对话框List控件的初始化   716

20.5.3 QueryDVDName函数的实现   718

20.5.4 主对话框中ComboBox控件初始化   719

20.5.5 查询功能的实现   720

20.5.6 “出租”对话框List控件的初始化   724

20.6 开发实例:操作记录   726

20.6.1 使用记录集对象添加记录   726

20.6.2 使用Command对象添加记录   728

20.6.3 使用记录集对象修改记录   730

20.6.4 删除记录   732

20.7 开发实例——事务处理   733

20.8 开发实例:调用存储过程   735

第21章 水晶报表Crystal Reports   739

21.1 使用前的准备   739

21.1.1 简介   739

21.1.2 安装水晶报表   739

21.1.3 水晶报表编程概述   740

21.2 制作简单报表   741

21.2.1 软件界面简介   741

21.2.2 新建报表   742

21.2.3 选择要使用的数据库   743

21.2.4 插入字段   745

21.2.5 插入多个字段   747

21.2.6 使用“文本对象”组合数据库字段   747

21.2.7 添加摘要信息   749

21.2.8 添加报表标题   749

21.2.9 设置对象格式   749

21.2.10 添加字段标题   751

21.3 记录选定、分组和排序   751

21.3.1 记录选定简介   752

21.3.2 使用“选择专家”进行记录选定   752

21.3.3 使用“选择公式”选定记录   754

21.3.4 修正大写/小写不一致   758

21.3.5 使用多个选择条件   758

21.3.6 记录排序和分组   760

21.3.7 组选定   765

21.4 子报表   766

21.4.1 什么是子报表   766

21.4.2 未链接的子报表与链接的子报表   766

21.4.3 插入子报表   767

21.4.4 更改子报表为主报表   770

21.4.5 创建按需显示子报表   770

21.4.6 更新子报表   773

21.5 在Visual C++中使用水晶报表控件   774

21.5.1 Crystal Reports提供的控件   774

21.5.2 在Visual C++6.0中使用水晶报表概述   775

21.5.3 pubs数据库报表查看程序   776

第22章 Winsock网络编程   787

22.1 网络通信基础   787

22.1.1 网络的结构   787

22.1.2 网络的分层   788

22.1.3 TCP/IP协议   789

22.2 WinSock概述   790

22.2.1 Windows Sockets基础   790

22.2.2 Windows Sockets通信机制   791

22.2.3 Windows Sockets网络编程原理   791

22.3 一个简单的网络程序   792

22.3.1 实例说明   793

22.3.2 服务器程序的实现   793

22.3.3 客户端程序的实现   796

22.4 WinSock API函数   799

22.4.1 WinSock API函数概述   799

22.4.2 初始化——WSAStartup()   801

22.4.3 创建套接字——socket()   802

22.4.4 绑定套接字地址与端口——bind()   802

22.4.5 在服务器上监听——Iisten()、accept()   803

22.4.6 从客户机上建立连接——connect()   804

22.4.7 利用流套接字进行数据交换——send()、recv()   804

22.4.8 利用数据报套接字进行数据交换——sendto()、recvfrom()   805

22.5 MFCWinSock编程   806

22.5.1 MFC WinSock类   807

22.5.2 WinSock初始化   808

22.5.3 Socket的创建、连接与关闭   809

22.5.4 数据的发送与接收   811

22.5.5 Socket事件处理   812

22.5.6 Socket的其他相关操作   813

22.5.7 CSocket类对象的阻塞模式   815

22.5.8 CSocket类对象的非阻塞模式   816

22.6 MFC WinSock网络编程实例   817

22.6.1 实例说明   817

22.6.2 服务器端程序创建   818

22.6.3 客户端程序创建   822

第23章 Internet编程   827

23.1 Winlnet概述   827

23.1.1 WinlnetAPI函数   827

23.1.2 MFC Winlnet类   829

23.2 Winlnet开发Internet客户端程序   830

23.2.1 Winlnet开发要点   830

23.2.2 Winlnet的开发流程   833

23.2.3 使用Winlnet访问HTTP服务器   833

23.2.4 使用Winlnet访问FTP服务器   834

23.2.5 MFC Winlnet类编程实例   835

23.3 ISAPI服务器扩展   838

23.3.1 ISAPI概述   838

23.3.2 ISAPI与CGI   839

23.3.3 MFC提供的ISAPI类   839

23.3.4 使用MFC开发ISA程序   840

23.3.5 MFC开发ISAPI扩展程序实例   842

23.4 动态HTML   847

23.4.1 动态HTML的基本概念   847

23.4.2 Win32 WebBrowser ActiveX控件   848

23.4.3 使用WebBrowser控件开发Web浏览器实例   850

23.4.4 CHtmIView类   853

23.4.5 CHtmIView类应用实例——一个简单的浏览器   854

第24章 Visual C++数字图像处理基础   858

24.1 数字图像基础   858

24.1.1 图像及其分类   858

24.1.2 调色板   859

24.1.3 色彩系统   859

24.1.4 常用的图像格式   861

24.2 设备无关位图   862

24.2.1 常用的DIB函数   863

24.2.2 构造自己的DIB类   864

24.3 BMP文件的操作   873

24.3.1 BMP文件的格式   873

24.3.2 BMP文件读取、显示与存储   876

24.4 数字图像处理   881

24.4.1 数字图像处理的主要内容   882

24.4.2 数字图像处理的应用   883

24.4.3 数字图像处理的发展动向   884

24.5 Visual C++搭建数字图像处理平台   884

24.5.1 平台介绍   885

24.5.2 创建工程   886

24.5.3 标尺的实现   886

24.5.4 图像的读取与显示   892

24.5.5 图像处理——图像缩放   895

第25章 Visual C++音/视频处理   900

25.1 多媒体编程的基础知识   900

25.1.1 数字音频   900

25.1.2 数字图像   902

25.1.3 视频处理技术   902

25.2 简单的视频控件、音频处理函数   903

25.2.1 动画控件   903

25.2.2 动画控件的使用实例   905

25.2.3 Visual C++中音频播放的方法   906

25.2.4 使用低级波形音频函数播放音频文件实例   911

25.3 MCI基础知识   915

25.3.1 MCI简介   916

25.3.2 MCI设备类型   916

25.3.3 MCI接口   917

25.3.4 MCI命令接口函数   918

25.3.5 MCI命令消息   919

25.4 MCI音/视频编程   920

25.4.1 定制基于MCI的WAV音频处理类   920

25.4.2 基于MCI的波形音频编程实例   926

25.4.3 定制基于MCI的AVI视频处理类   931

25.4.4 基于MCI的AVI视频编程实例   934

25.5 视频捕捉   938

25.5.1 VFW简介   939

25.5.2 视频捕捉窗口的操作   940

25.5.3 视频捕捉的回调函数   941

25.5.4 视频预览与采集   943

25.5.5 视频设置对话框   944

25.5.6 视频压缩与传输   944

25.6 综合实例——点对点音/视频、文字传输   944

25.6.1 系统说明   945

25.6.2 程序的类和资源   946

25.6.3 程序的工作流程   953