《Visual C++.NET高级编程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:齐舒创作室编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2002
  • ISBN:790064377X
  • 页数:506 页
图书介绍:

第1篇 MFC高级编程 1

第1章 应用程序框架 1

1.1 应用程序、框架、文档和视图 1

1.1.1 基本介绍 1

1.1.2 文档模板 3

1.1.3 文档和视图 4

1.1.4 最简单的文档/视图应用 7

1.2 消息处理 8

1.2.1 发送和寄送消息 8

1.2.2 消息类型 9

1.2.3 使用MFC处理接收到的消息 12

1.2.4 创建自定义的消息 13

1.2.5 消息的重定位 17

1.3 切分窗口 24

1.3.1 切分窗口概述 24

1.3.2 动态切分窗口 25

1.3.3 静态切分窗口 26

1.3.4 滚动视图和CScrollView类 27

1.4 单文档应用程序切分窗口编程举例——SDISplitter 28

1.4.1 创建工程和资源 28

1.4.2 切分窗口 31

1.4.3 添加功能代码 34

1.4.4 编译并生成可执行文件 35

1.5 多文档界面编程举例——MDISplitter 35

1.5.1 创建工程 36

1.5.2 修改文档和视图类 36

1.5.3 完成视图类CEnterView 38

1.5.4 完成视图类CShowView 41

1.5.5 完成CSplitFrame类 43

1.5.6 添加模板资源 44

1.5.7 编译并生成可执行文件 45

2.1 动态链接库的基本理论 46

第2章 动态链接库 46

2.1.1 导入函数和导出函数 47

2.1.2 隐式连接和显式连接 48

2.1.3 选择连接方式 49

2.1.4 DLL入口点——DllMain 50

2.1.5 动态链接库的定位 50

2.2 使用MFC编写DLL 51

2.2.1 MFC扩展DLL 51

2.2.2 MFC扩展DLL的资源搜索顺序 52

2.2.3 扩展DLL实例——ExtensionDll 52

2.2.4 测试扩展DLL 55

2.2.6 MFC规则DLL的资源搜索顺序 59

2.2.7 规则DLL实例——RegularDll 59

2.2.5 MFC规则DLL 59

2.2.8 测试规则DLL 61

第3章 进程和线程 62

3.1 进程 62

3.1.1 基本理论 62

3.1.2 进程的创建 63

3.1.3 进程的终止 68

3.1.4 子进程 70

3.2 多线程编程 72

3.2.1 线程的基础知识 72

3.2.2 线程的优先级 73

3.2.3 创建辅助线程和用户界面线程 75

3.2.4 一个简单的实例 78

3.2.5 线程的挂起和唤醒 83

3.2.6 线程的休眠 83

3.2.7 线程的同步 84

3.2.8 事件对象 84

3.2.9 使用临界段 89

3.2.10 使用互斥量 91

3.2.11 使用信号量 94

3.2.12 一个复杂的线程例子 96

4.1.2 COM本质 111

4.1.1 COM所解决的问题 111

4.1 组件对象模型COM简介 111

第4章 COM编程 111

第2篇 组件编程 111

4.1.3 COM对象类型 112

4.1.4 COM的利与弊 113

4.2 COM对象和接口 114

4.2.1 COM对象 114

4.2.2 全球惟一标识符GUID 114

4.2.3 COM对象的特点 116

4.2.4 COM接口 117

4.2.5 接口描述语言IDL 120

4.2.6 接口的特点 121

4.3 IUnknown接口 122

4.3.1 引用计数 123

4.3.2 接口查询 124

4.4 COM的实现 126

4.4.1 COM组件的实现规则 127

4.4.2 进程内组件和进程外组件 127

4.4.3 类厂 129

4.4.4 建立一个模拟COM组件服务器程序 131

4.4.5 COM库 140

4.5 COM客户 142

4.5.1 COM对象创建函数 142

4.5.2 运行时的COM对象注册 144

4.5.3 COM客户程序调用进程内组件 145

4.5.4 COM客户程序调用进程外组件 146

4.6 MFC对COM的支持 147

4.6.1 MFC接口宏 148

4.6.2 MFC对自动化的支持 152

4.6.3 MFC对ActiveX控件的支持 152

4.6.4 MFC对复合文档的支持 154

4.7 基于MFC的COM编程举例 154

4.7.1 使用MFC创建服务程序 155

4.7.2 创建COM客户程序 160

4.8 COM的高级特性 162

4.8.1 包容和聚合 162

4.8.2 实现包容和聚合 164

4.8.3 列集 166

4.8.4 多线程特性 168

4.9 COM扩展技术——COM+ 172

4.9.1 COM与Windows DNA 172

4.9.2 组件服务配置 173

4.9.3 事务处理 175

4.9.4 排队组件 176

4.9.5 动态负荷平衡 177

4.9.6 对象池 178

5.1.3 容器和服务器 179

5.1.2 对象链接和嵌入 179

5.1 Active技术概述 179

第5章 ATL控件编程 179

5.1.1 ActiveX的用途 179

5.1.4 ActiveX自动化编程 180

5.1.5 ActiveX控件 180

5.2 ActiveX控件编程 181

5.2.1 ActiveX控件的事件 181

5.2.2 ActiveX控件的方法 184

5.2.3 ActiveX控件的属性 185

5.2.4 ActiveX控件的属性页 186

5.3 ATL基础 187

5.3.3 何时使用ATL 189

5.4 ATL窗口类 189

5.3.1 使用模板库 189

5.3.2 ATL适用范围 189

5.4.1 使用窗口 190

5.4.2 实现一个窗口 190

5.4.3 实现一个对话框 192

5.4.4 使用容器窗口 193

5.5 连接点 194

5.5.1 连接点类 194

5.5.2 给对象增加一个连接点 194

5.6 枚举器 195

5.5.3 连接点的例子 195

5.7 代理 196

5.7.1 ATL代理 196

5.7.2 生成连接点或快捷指针的代理 196

5.8 创建一个简单的ATL控件 196

5.8.1 创建工程 197

5.8.2 添加控件 198

5.8.3 增加属性 203

5.8.4 修改绘图代码 205

6.1.1 ATL Server宏 208

6.1 ATL Server简介 208

第6章 ATL Serer编程 208

6.1.2 ATL Server属性 209

6.1.3 ATL Server函数 214

6.1.4 服务器响应文件 215

6.1.5 ATL Server程序结构 215

6.1.6 创建ATL Server工程 217

6.2 SOAP规范 222

6.2.1 设计目标 222

6.2.2 符号约定 223

6.2.3 SOAP消息示例 223

6.2.4 SOAP消息交换模型 224

6.3.1 什么是XML 227

6.3 XML简介 227

6.3.2 XML元素 229

6.3.3 XML元素的内容和属性 230

6.3.4 一个简单的XML例子 231

6.4 XSL简介 235

6.4.1 CSS:HTML的样式表 235

6.4.2 XSL:XML的样式表 235

6.4.3 XSLT:XSL转换 236

6.4.4 XSL如何工作 236

6.5 XSL转换 236

6.5.1 从XML文档开始 236

6.5.3 将样式表连接到XML文档 237

6.5.2 创建一个XSL样式表 237

6.5.4 XSL模板 238

6.5.5 客户端XSL 240

6.5.6 服务器端XSL 241

6.6 ATL Web服务编程简介 242

6.6.1 Web服务概述 242

6.6.2 ATL Web服务的基础结构 243

6.6.3 服务描述 243

6.6.4 创建ATL Web服务提供者程序 243

6.6.5 创建ATL Web服务客户程序 247

第7章 .NET框架编程 252

7.1 初识.NET 252

7.2.1 虚拟对象系统 253

7.2 .NET结构简介 253

7.2.2 元数据 254

7.2.3 公用语言规范 254

7.2.4 虚拟执行系统 254

7.2.5 .NET框架结构 255

7.3 理解.NET框架编程 255

7.3.1 公用语言运行时环境 255

7.3.2 深入理解公用语言规范 256

7.3.3 受控执行 257

7.3.4 程序集 257

7.3.5 元数据和自我描述组件 258

7.3.6 .NET框架的基本单元——类型 259

7.4 托管扩展编程方法 266

7.5 何时使用C++托管扩展语言 266

7.6 公用类型系统 267

7.7 C++托管扩展语言简介 267

7.7.1 受控类型 268

7.7.2 受控数组 269

7.7.3 C++托管扩展中的字符串 270

7.7.4 C++托管扩展中的代理 270

7.7.5 受控对象的属性 271

7.8.1 在现有工程中添加对C++托管扩展的支持 272

7.8 使用C++托管扩展语言进行编程 272

7.8.2 全局属性和扩展受控C++ 273

7.8.3 受控类型和MFC 274

7.9 C#简介 275

7.10 C#语言的特点 275

7.10.1 简洁的语法 276

7.10.2 精心的面向对象设计 276

7.10.3 与Web的紧密结合 277

7.10.4 完全的安全性与错误处理 277

7.10.5 版本处理技术 277

7.11.1 创建托管的C++应用程序项目 278

7.11 创建托管的C++应用程序 278

7.10.6 灵活性和兼容性 278

7.11.2 实现主框架窗口 280

7.11.3 实现Stroke类 285

7.11.4 实现文档和视图 286

7.11.5 添加设置线宽对话框 289

7.11.6 编译并运行应用程序 291

7.12 使用C#编写.NET应用 292

7.12.1 使用C#语言的原因 293

7.12.2 HelloWorld的C#版 293

7.12.3 C#程序的常规结构 295

7.12.4 创建和使用C#DLL 296

8.1 MFC支持的数据库访问类型 299

第8章 用Visual C++.NET开发数据库应用程序 299

第3篇 数据库编程 299

8.1.1 ODBC 300

8.1.2 DAO 300

8.1.3 比较ODBC与DAO 301

8.1.4 OLE DB 302

8.2 开发数据库应用程序的方法 303

8.2.1 通过API访问数据库 304

8.2.2 通过数据对象接口访问数据库 304

8.3 构造数据库 305

8.3.1 数据库概述 305

8.3.2 创建数据库 307

第9章 用ODBC开发数据库应用程序 312

9.1 ODBC起源 312

9.2 ODBC的工作机制 313

9.2.1 ODBC标准 313

9.2.2 ODBC驱动程序管理器 314

9.2.3 ODBC驱动程序 314

9.2.4 ODBC数据源管理器 314

9.2.5 ODBC一致层 315

9.2.6 ODBC的两种版本 315

9.3 MFC封装的ODBC数据库类 316

9.4.1 连接到数据库 317

9.4.2 打开和关闭记录集 317

9.4 使用CRecordset类 317

9.4.3 浏览记录集 318

9.5 添加、更新和删除记录 319

9.5.1 确定记录集是否可更新 319

9.5.2 将记录添加到记录集 320

9.5.3 编辑记录集中的记录 321

9.5.4 从记录集中删除记录 321

9.6 利用书签和绝对位置定位记录 322

9.7 排序与过滤 323

9.7.1 对记录排序 323

9.7.2 筛选记录 323

9.8 创建ODBC应用程序 325

9.8.1 注册数据库 326

9.8.2 利用应用程序向导创建应用程序外壳 328

9.8.3 显示数据库的记录 332

9.8.4 添加、删除和修改记录 336

9.8.5 定位到指定的记录 340

9.8.6 排序与过滤 346

第10章 用DAO开发数据库应用程序 352

10.1 DAO、COM和Microsoft Jet数据库引擎 352

10.2 MFC中的DAO类 352

10.2.1 MFC如何封装DAO 353

10.2.2 DAO对象和MFC类 353

10.4 DAO记录集类型 354

10.3 利用DAO可以打开的数据库 354

10.4.1 按ODBC模式使用DAO 355

10.4.2 DAO表类型记录集 355

10.5 DAO的其他特性 356

10.6 使用MFC DAO类创建和运行查询 356

10.7 使用DAO 358

10.7.1 打开记录集 358

10.7.2 动态绑定记录 360

10.8 利用DAO构造数据库应用程序 362

10.8.1 创建一个简单的DAO数据库访问应用程序 363

10.8.2 进一步完善应用程序的功能 372

11.1 什么是SQL 380

第11章 使用服务器资源管理器 380

11.2 SQL语法基础 381

11.2.1 数据控制语言语句 381

11.2.2 数据定义语言语句 381

11.2.3 数据操作语言语句 383

11.3 在C++中利用SQL操作数据库 386

11.4 创建Procedure应用程序 387

11.4.1 创建应用程序外壳 387

11.4.2 数据连接 389

11.4.3 服务器资源管理器 392

11.4.4 查询设计器 393

11.4.5 存储过程 395

11.4.6 编写存储过程 398

11.4.7 利用C++代码调用存储过程 400

11.5 利用服务器资源管理器管理数据库 405

11.5.1 设计数据库 405

11.5.2 使用数据库关系图 408

11.6 Microsoft事务处理服务器 410

第12章 用ADO开发数据库应用程序 412

12.1 ADO概述 412

12.1.1 OLE DB与ADO 412

12.1.2 ADO和RDO、DAO的比较 414

12.1.3 ADO对象 414

12.2 ADO.NET简介 416

12.2.1 为何使用ADO.NET 417

12.2.2 ADO.NET的体系结构 418

12.2.3 ADO.NET和ADO 419

12.2.4 ADO、ADO.NET与OLE DB 421

12.3 如何使用ADO DLL 424

12.3.1 引入ADO DLL 424

12.3.2 建立到数据库的连接 425

12.3.3 执行命令并获取数据 425

12.3.4 浏览记录集 427

12.3.5 访问字段值 427

12.3.6 ADO中的宏 427

12.3.8 添加和删除记录 428

12.3.7 更新记录 428

12.3.9 关闭Recordset对象和Connection对象 429

12.4 使用ADO创建数据库应用程序 429

12.4.1 创建应用程序外壳 430

12.4.2 创建定制的记录类 431

12.4.3 连接和获取数据 434

12.4.4 显示记录 436

12.4.5 保存修改结果 438

12.4.6 浏览记录集 439

12.4.7 增加新记录 443

12.4.9 进一步完善应用程序功能 445

12.4.8 删除当前记录 445

第13章 使用ADO.NET开发数据库应用程序 448

13.1 ADO.NET概述 448

13.1.1 ADO.NET对象模型 448

13.1.2 记录集和数据集 450

13.1.3 使用命名空间 451

13.2 连接数据源 452

13.3 用DataSets访问数据 453

13.3.1 用DataSets读数据 453

13.3.2 在DataSet中存储多个表 456

13.3.3 DataTable对象 458

13.3.5 在DataGrid控件中显示数据 460

13.3.4 使用DataView 460

13.3.6 使用模板 463

13.3.7 使用Repeater控件 464

13.4 使用存储过程 465

13.4.1 调用存储过程 465

13.4.2 传递参数 467

13.5 用DataReaders访问数据 469

13.5.1 创建DataReader 469

13.5.2 从DataReader读数据 470

13.5.3 使用DataSets还是DataReaders 472

14.1 网络基础 474

14.1.1 OSI网络模型 474

第14章 Internet编程 474

第4篇 网络编程 474

14.1.2 OSI网络模型概述 475

14.2 Winsock编程 475

14.2.1 Windows套接字 476

14.2.2 Winsock的版本和平台 476

14.2.3 Winsock函数 479

14.2.4 MFC的Winsock类 489

14.3 WinInet编程 499

14.3.1 WinInet概述 499

14.3.2 使用MFC WinInet类编写Internet客户端应用程序 499