《Visual C++ .NET开发指南与实例详析》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:王华等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2003
  • ISBN:7111112776
  • 页数:582 页
图书介绍:

第一部分 Visual C++.NET编程基础 3

第1章 Visual C++.NET概述 3

1.1 软件开发技术 3

1.1.1 概述 3

1.1.2 计算模式 3

1.1.3 程序设计方法 5

1.1.4 软件产业与软件开发人员 6

1.2 Visual Studio.NET 7

1.2.1 Visual C++.NET的新特性 8

1.2.2 安装 8

1.2.3 集成开发环境 9

1.3 第一个例程S01_01:Hello,World! 11

1.3.1 例程说明 11

1.3.2 创建项目 11

1.3.3 设计界面 12

1.3.4 添加代码 12

1.3.5 运行测试 13

1.3.6 例程分析 13

1.3.7 例程引申 13

1.4 程序调试 15

1.4.1 错误类型 15

1.4.2 程序调试的一般过程 15

1.4.3 程序调试的其他问题 17

1.5 方法与技巧 17

1.5.1 提高Visual Studio.NET的运行性能 17

1.5.2 备份项目前清理项目 18

1.5.3 优化“解决方案资源管理器”窗口中的树目录 18

1.5.4 IDE智能感知的设置 19

1.5.5 检测代码中括号是否匹配 19

1.5.6 命名规则与方法 19

1.5.7 使用Spy++查看窗口的样式和扩展样式 21

1.5.8 生成发行版本 22

1.6 小结 22

第2章 C++语言的关键技术 23

2.1 建立上机环境 23

2.2 普通注释与特殊格式的注释 25

2.3 const与volatile的用法 25

2.3.1 const 25

2.3.2 volatile 27

2.4 sizeof与#pragma pack的用法 27

2.5 引用 29

2.5.1 引用变量 29

2.5.2 引用参数传递 29

2.6 名字空间 30

2.6.1 namespace 31

2.6.2 using 32

2.7 new与delete运算符 33

2.8 void指针 34

2.9 typeid运算符 35

2.10 函数 36

2.10.1 内联函数 36

2.10.2 指定函数形参的默认值 37

2.10.3 参数个数不定的函数 37

2.10.4 模板函数 39

2.10.5 重载函数 40

2.10.6 指向函数的指针 41

2.11 类与对象 42

2.11.1 类的封装 42

2.11.2 类的派生与继承 43

2.11.3 构造函数和析构函数 43

2.11.4 对象的引用参数传递 45

2.11.5 静态成员变量与静态成员函数 46

2.11.6 const类型成员函数与mutable 48

2.11.7 对象的初始化与初始化行 49

2.11.8 拷贝构造函数 50

2.11.9 模板类 52

2.12 友元函数与友元类 53

2.13 运算符重载 55

2.14 派生和继承 56

2.14.1 派生与继承 56

2.14.2 多重、多层派生与继承 59

2.14.3 虚基类 59

2.15 多态性和虚函数 60

2.16 异常处理 63

2.16.1 抛出和捕捉异常 63

2.16.2 多路捕捉 64

2.17 C++语言托管扩展编程 65

2.18 小结 67

第二部分 Visual C++.NET通用编程技术 71

第3章 窗口、对话框和控件 71

3.1 窗口 71

3.1.1 应用程序向导 72

3.1.2 项目文件 76

3.1.3 应用程序类 76

3.1.4 框架类 80

3.1.5 文档类和视图类 81

3.1.6 应用程序框架类中各个类及对象之间的关系 82

3.2 对话框 83

3.2.1 消息对话框 84

3.2.2 一般对话框的创建与使用流程 85

3.2.3 对话框模板编辑器 88

3.2.4 对话框中的数据交换和数据校验 90

3.2.5 模态对话框与非模态对话框 91

3.2.6 属性表对话框 94

3.2.7 向导对话框 102

3.2.8 通用对话框 103

3.3 控件 104

3.3.1 控件的选择和使用原则 104

3.3.2 分组框、复选框和单选按钮 105

3.3.3 列表控件和组合框控件 107

3.3.4 树控件 109

3.3.5 Spin控件和Slider控件 111

3.3.6 动画控件和进度控件 113

3.4 方法与技巧 115

3.4.1 禁用、激活、隐藏和显示控件 115

3.4.2 如何制作图标按钮和位图按钮 115

3.4.3 如何明确对话框的UpdateData()函数的参数含义 116

3.4.4 如何使两个编辑框控件的内容相关 116

3.4.5 如何从其他应用程序中“借用”资源 116

3.4.6 如何改变控件的颜色 117

3.5 小结 117

第4章 菜单、工具栏和状态栏 118

4.1 消息 118

4.1.1 消息映射 118

4.1.2 消息处理函数 119

4.1.3 命令消息处理过程 120

4.1.4 更新用户接口对象状态 120

4.1.5 命令消息的传递路径 121

4.2 菜单 122

4.2.1 菜单简介 122

4.2.2 菜单的实现过程 123

4.2.3 右键弹出菜单 127

4.3 工具栏 130

4.3.1 工具栏简介 130

4.3.2 工具栏的具体实现 130

4.4 状态栏 131

4.5 小结 134

第5章 绘图、字体和打印 135

5.1 绘图 135

5.1.1 DC和CDC类 135

5.1.2 GDI和CGdiObject类 136

5.1.3 绘图实例 137

5.2 文本和字体 141

5.2.1 CFont类 142

5.2.2 文本与字体例程之一 142

5.2.3 文本与字体例程之二 144

5.2.4 文本与字体例程之三 146

5.3 打印 147

5.3.1 打印原理 148

5.3.2 CPrintInfo类 148

5.3.3 CPageSetupDialog类 150

5.3.4 打印例程 155

5.4 小结 157

第6章 文件操作 158

6.1 序列化 158

6.1.1 序列化简介 158

6.1.2 序列化例程 158

6.2 CArchive类 161

6.2.1 构造CArchive类的对象 161

6.2.2 <<和>>操作符 161

6.2.3 通过Serialize函数实现信息的保存和读取 162

6.2.4 判断CArchive对象的读写状态 163

6.2.5 读写函数 163

6.2.6 访问文件 163

6.2.7 关闭CArchive对象 163

6.2.8 CArchive应用例程 164

6.3 CFile类 165

6.3.1 打开和关闭文件 165

6.3.2 文件的定位 166

6.3.3 文件的读写操作 166

6.3.4 文件的管理 166

6.3.5 文件操作时的异常 167

6.3.6 CFile类应用例程 167

6.4 文件对话框 168

6.4.1 CFileDialog类 168

6.4.2 一次选择多个文件 169

6.4.3 灵活定制文件对话框 169

6.5 内存文件类 170

6.5.1 CMemFile类 170

6.5.2 CSharedFile类 171

6.6 内存映射文件 171

6.6.1 创建和打开内存映射文件 171

6.6.2 为内存映射文件创建映射视图 172

6.6.3 使用内存映射文件共享数据 172

6.6.4 内存映射文件应用例程之一 173

6.6.5 内存映射文件应用例程之二 174

6.6.6 内存映射文件应用例程之三 178

6.7 小结 180

第三部分 Visual C++.NET高级编程技术 183

第7章 动态链接库 183

7.1 DLL概述 183

7.2 DLL程序的基本框架 184

7.2.1 例程S07_01:Win32 DLL 184

7.2.2 DLL入口点函数 185

7.2.3 例程S07_02:MFC DLL 186

7.2.4 MFC DLL的类型 188

7.2.5 查看DLL的导出内容 190

7.3 从DLL中导出函数 191

7.3.1 使用DEF文件 191

7.3.2 使用_declspec(dllexport)关键字 192

7.3.3 使用AFX_EXT_CLASS宏 193

7.4 DLL中的数据和内存 193

7.4.1 从DLL中导出数据 193

7.4.2 多个进程共享DLL中的数据和内存 194

7.5 DLL中的资源 195

7.6 程序链接 196

7.6.1 隐式链接 196

7.6.2 显式链接 196

7.7 使用和调试DLL 197

7.7.1 使用DLL 197

7.7.2 调试DLL 197

7.8 综合例程S07_04 197

7.8.1 创建空白解决方案 197

7.8.2 创建并定制DLL项目 198

7.8.3 创建并定制用户应用程序项目 202

7.9 小结 205

第8章 多线程编程 206

8.1 进程和线程 206

8.2 用户界面线程 207

8.2.1 创建用户界面线程 207

8.2.2 启动用户界面线程 208

8.2.3 使用用户界面线程 208

8.3 工作者线程 208

8.3.1 定义并实现控制函数 208

8.3.2 启动工作者线程 209

8.3.3 例程S08_01:实现工作者线程 209

8.4 线程的终止 212

8.4.1 正常终止 212

8.4.2 异常终止 212

8.4.3 正常终止与异常终止的比较 213

8.4.4 获取线程的退出码 213

8.5 线程的管理和操作 214

8.5.1 线程的优先级 214

8.5.2 控制线程的运行状态 215

8.6 线程间通信 215

8.6.1 使用同步类控制访问共享数据 215

8.6.2 使用消息队列 215

8.7 使用同步类 215

8.7.1 同步对象 216

8.7.2 同步访问对象 218

8.7.3 例程S08_02:使用互斥量对象 219

8.8 例程S08_03:多线程综合示例 220

8.8.1 创建项目 220

8.8.2 定义主对话框类 221

8.8.3 定义控制函数 224

8.8.4 定义线程类 226

8.8.5 包含所需的头文件 229

8.8.6 运行测试 229

8.9 小结 229

第9章 多媒体编程 230

9.1 声音 230

9.1.1 使用MessageBeep示例 230

9.1.2 播放WAV文件示例 231

9.1.3 各种播放声音方法的比较 233

9.1.4 用MCI控制WAV声音的播放 233

9.1.5 使程S09_02:使用MCI播放声音 234

9.2 图像 240

9.2.1 图像格式 240

9.2.2 BMP文件的结构 241

9.2.3 例程S09_03:显示图片 242

9.3 视频 246

9.3.1 播放视频的方法 246

9.3.2 例程S09_04:播放视频 247

9.4 小结 248

第10章 帮助的制作 249

10.1 概述 249

10.2 HLP帮助文件的制作与启动 250

10.2.1 编写PTF文件 250

10.2.2 插入脚注 250

10.2.3 设置格式 251

10.2.4 主题页的跳转 252

10.2.5 加入图片 252

10.2.6 HPJ文件与HLP文件 252

10.2.7 启动帮助 255

10.3 CHM帮助文件的制作与启动 256

10.3.1 HTML Help Workshop的结构 256

10.3.2 准备素材 257

10.3.3 新建项目 257

10.3.4 设置项目 258

10.3.5 建立目录文件 259

10.3.6 建立索引文件 260

10.3.7 编译运行帮助文件 260

10.3.8 启动帮助 261

10.4 小结 262

第11章 软件的安装与部署 263

11.1 Microsoft Windows安装程序介绍 263

11.2 生成安装程序的简单示例 264

11.3 部署中使用编辑器 265

11.3.1 文件系统编辑器 265

11.3.2 文件类型编辑器 268

11.3.3 部置中的注册表设置管理 269

11.3.4 部署中的用户界面管理 271

11.3.5 部署中的自定义操作管理 273

11.3.6 在部署中启动条件管理 274

11.4 小结 275

第四部分 数据库开发技术 279

第12章 关系数据库 279

12.1 数据库基本知识 279

12.1.1 为什么要使用数据库 279

12.1.2 数据库技术的发展 279

12.1.3 数据库的分类 280

12.1.4 现有的各种数据库 281

12.1.5 通常进行的数据库方面的应用和开发 281

12.1.6 关于本章的例程数据库 282

12.2 关系数据库 283

12.2.1 关系模型 283

12.2.2 表 284

12.2.3 记录 284

12.2.4 字段 284

12.2.5 数据类型 284

12.2.6 键 284

12.2.7 索引 285

12.2.8 关系和完整性 285

12.3 结构查询语言 286

12.3.1 SQL及其特点 286

12.3.2 数据查询 287

12.3.3 数据操作 290

12.3.4 数据定义 291

12.4 关系数据库的设计 292

12.4.1 设计数据库的基本规则 292

12.4.2 设计数据库时遵循的三个范式 292

12.4.3 实体-关系图 293

12.5 Access的使用 294

12.5.1 例程数据库的设计说明 294

12.5.2 创建数据库 294

12.5.3 在数据库中对表的添加、修改和删除 295

12.5.4 为表建立关系 296

12.5.5 对表的记录进行添加、修改和删除 296

12.5.6 在数据库中对查询的添加、修改和删除 297

12.5.7 为表添加、修改和删除索引 298

12.6 方法与技巧 298

12.7 小结 299

第13章 数据库访问与Visual C++.NET 300

13.1 数据访问技术概述 300

13.1.1 ODBC 300

13.1.2 DAO 301

13.1.3 OLE DB 301

13.1.4 ADO 302

13.1.5 ADO.NET 302

13.2 通用数据访问 303

13.3 可视化数据库工具 304

13.3.1 可视化数据库工具所能完成的工作 304

13.3.2 服务器资源管理器 304

13.3.3 添加连接 305

13.3.4 开发数据库 306

13.4 数据库项目 306

13.4.1 数据库项目概述 306

13.4.2 区别数据库连接与数据库引用 308

13.4.3 使用数据库项目 309

13.5 Visual C++.NET中已安装的数据库支持 310

13.6 小结 311

第14章 ODBC编程 312

14.1 ODBC基础 312

14.1.1 ODBC体系结构 312

14.1.2 ODBC数据源管理器 313

14.1.3 游标和ODBC游标库 315

14.2 使用ODBC API编程 317

14.2.1 例程S14_01 317

14.2.2 ODBC API的编程步骤 319

14.3 使用MFC ODBC编程 321

14.3.1 MFC ODBC类 321

14.3.2 文档与视图 322

14.3.3 使用MFC ODBC类:例程S14_02 322

14.3.4 连接到数据源 325

14.3.5 ODBC记录集 327

14.3.6 记录字段交换 329

14.3.7 CRecordView类 333

14.3.8 添加、删除和更新记录 333

14.3.9 参数化记录集 339

14.3.10 执行联接 341

14.4 小结 343

第15章 OLE DB API编程 344

15.1 OLE DB编程概述 344

15.1.1 OLE DB的特点 344

15.1.2 OLE DB应用程序的组件 345

15.2 OLE DB对象层次结构 345

15.2.1 OLE DB对象的属性 346

15.2.2 OLE DB应用程序流程 350

15.2.3 枚举器 351

15.2.4 数据源 353

15.2.5 会话 358

15.2.6 命令 360

15.2.7 行集合 366

15.2.8 访问器 368

15.2.9 事务 371

15.2.10 错误 372

15.3 使用OLEDB API来访问数据 376

15.3.1 创建例程S15_03 376

15.3.2 例程S15_03说明 377

15.4 小结 377

第16章 ATL OLE DB编程 378

16.1 OLE DB编程方法概述 378

16.2 MFC OLE DB编程 378

16.3 OLE DB模板 380

16.4 OLE DB使用者模板 380

16.4.1 OLE DB使用者模板框架 380

16.4.2 通用数据源支持 381

16.4.3 行集合与绑定支持 381

16.4.4 命令和表支持 382

16.4.5 用户记录 382

16.4.6 创建OLE DB使用者 383

16.5 OLE DB提供程序模板 386

16.5.1 概述 386

16.5.2 OLE DB提供程序模板的结构 387

16.5.3 创建OLE DB提供程序 388

16.5.4 使用OLE DB提供程序模板 396

16.6 小结 397

第17章 ADO编程 398

17.1 ADO基础概述 398

17.1.1 ADO简介 398

17.1.2 使用ADO的方法 399

17.2 使用ActiveX控件开发ADO应用 399

17.2.1 支持数据绑定的技术 399

17.2.2 在ActiveX中绑定数据 400

17.2.3 支持数据绑定的ActiveX控件 400

17.2.4 数据控件 400

17.2.5 数据绑定控件 401

17.2.6 创建数据源连接 401

17.2.7 使用ADO数据绑定 402

17.2.8 使用ADO控件操作数据 404

17.3 ADO的对象和集合 405

17.3.1 连接对象 406

17.3.2 命令对象 407

17.3.3 记录集对象 409

17.3.4 记录对象 412

17.3.5 流对象 412

17.3.6 字段对象 413

17.3.7 参数对象 413

17.3.8 属性对象 413

17.3.9 错误对象 413

17.4 使用ADO对象开发应用 414

17.4.1 在Visual C++应用程序中使用ADO对象的方法 414

17.4.2 使用ADO对象创建数据库应用程序 417

17.4.3 编辑数据 420

17.4.4 使用Visual C++的ADO扩展 422

17.5 小结 425

第五部分 分布式计算技术 429

第18章 ActiveX控件 429

18.1 ActiveX控件概述 429

18.1.1 ActiveX控件 429

18.1.2 属性 429

18.1.3 方法 430

18.1.4 事件 430

18.1.5 ActiveX控件容器 431

18.1.6 属性页 431

18.1.7 ActiveX控件的基本组件 432

18.2 使用MFC开发ActiveX控件 432

18.2.1 创建MFC ActiveX控件项目 432

18.2.2 向导创建的控件项目框架 433

18.2.3 测试ActiveX控件 434

18.2.4 添加属性 436

18.2.5 添加处理消息 441

18.2.6 添加事件 441

18.2.7 添加方法 443

18.2.8 实现属性页 445

18.3 使用ATL开发ActiveX控件 448

18.3.1 ATL概述 448

18.3.2 ATL COM对象基础 449

18.4 在应用程序中使用ActiveX控件 450

18.5 小结 450

第19章 组件对象模型 451

19.1 分布式计算技术概述 451

19.1.1 客户机/服务器计算模式 451

19.1.2 新的需求对分布式计算模式的要求 451

19.1.3 分布式计算模式的原理 452

19.1.4 Visual Studio.NET对分布式计算模式的支持 453

19.2 COM技术基础 453

19.2.1 COM技术的发展历史 453

19.2.2 使用C++抽象基类 454

19.2.3 COM技术原理 456

19.3 活动模板库 459

19.3.1 例程简介 459

19.3.2 创建工程 459

19.3.3 添加控件 460

19.3.4 测试控件 462

19.3.5 添加属性 462

19.3.6 绘画控件 464

19.3.7 添加事件 465

19.3.8 添加属性页 467

19.3.9 例程说明 469

19.4 小结 470

第20章 .NET框架 471

20.1 微软.NET战略 471

20.2 .NET框架概述 471

20.2.1 .NET框架的目标 471

20.2.2 .NET框架的用户 471

20.2.3 .NET框架的体系结构 472

20.2.4 开发语言与工具 473

20.2.5 客户端应用程序开发 474

20.2.6 服务器应用程序开发 474

20.3 公用语言运行时环境 475

20.3.1 概述 475

20.3.2 支持的CLR语言 476

20.3.3 托管执行过程 477

20.3.4 微软中间语言 478

20.3.5 内存类型安全 479

20.3.6 自动内存管理 479

20.3.7 垃圾回收编程 484

20.3.8 元数据 488

20.3.9 程序集 489

20.3.10 名字空间 494

20.3.11 应用程序域 495

20.3.12 通用类型系统 495

20.3.13 公用语言规范 497

20.4 .NET框架类库 497

20.5 小结 500

第21章 .NET数据访问 501

21.1 ADO.NET概述 501

21.1.1 ADO.NET的设计目标 501

21.1.2 ADO.NET与ADO 502

21.1.3 ADO.NET的体系结构 502

21.1.4 .NET数据提供程序 503

21.1.5 在Visual C++.NET中使用ADO.NET:例程S21_01 504

21.1.6 使用通用接口 507

21.2 使用ADO.NET数据提供程序 508

21.2.1 Connection 508

21.2.2 Command 509

21.2.3 DataReader 510

21.2.4 DataAdapter 510

21.3 使用DataSet 510

21.3.1 编程构架DataSet 511

21.3.2 DataAdapter与DataSet 511

21.3.3 更新数据源 512

21.3.4 自动生成命令 517

21.3.5 DataSet与数据绑定控件 518

21.4 DataSet与XML 519

21.4.1 DataSet的XML交互方法 520

21.4.2 将DataSet写出到XML 520

21.4.3 从XSD加载DataSet 522

21.4.4 从XSD推测DataSet架构 524

21.5 小结 524

第22章 ASP.NET编程 525

22.1 ASP.NET概述 525

22.1.1 Web服务器与Web页 525

22.1.2 ASP.NET简介 526

22.1.3 平台要求 526

22.1.4 ASP.NET的工作原理 529

22.1.5 应用实例 529

22.1.6 Visual Studio中的Web应用程序 530

22.2 Web窗体 532

22.2.1 Web窗体简介 532

22.2.2 Web窗体与HTML窗体 533

22.2.3 Web窗体代码模型 533

22.2.4 Web窗体语法 536

22.2.5 Web窗体服务器控件 542

22.2.6 HTML服务器控件 542

22.2.7 Web服务器控件 543

22.2.8 用户控件 548

22.2.9 可重用代码 552

22.3 小结 553

第23章 Web服务 554

23.1 Web服务 554

23.1.1 Web服务概述 554

23.1.2 Web服务结构 554

23.1.3 Web服务实现模型 560

23.2 创建Web服务 560

23.2.1 不使用Visual Studio.NET 560

23.2.2 使用Visual Studio.NET 562

23.3 发布与部署Web服务 564

23.3.1 部署Web服务 564

23.3.2 启用Web服务的发现 565

23.4 使用Web服务 566

23.4.1 使用Visual Studio.NET 566

23.4.2 使用文本编辑器创建Web服务客户程序 568

23.4.3 从浏览器访问Web服务 569

23.4.4 访问Intemet上的Web服务 571

23.5 ASP.NET创建Web服务的高级内容 573

23.5.1 Web服务中的事务处理 573

23.5.2 Web服务中的状态管理 575

23.5.3 Web服务中的安全 576

23.6 小结 578

附录 术语和缩略词 579