《Visual C++ 5开发使用手册》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)(K.格雷戈里)Kate Gregory著;康博创作室译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:1998
  • ISBN:7111061543
  • 页数:778 页
图书介绍:暂缺《Visual C++ 5开发使用手册》简介

译者序 1

前言 1

第一部分 从头开始 1

第1章 建立第一个应用程序 1

1.1 生成一个Windows应用程序 1

目录 1

1.1.1 决定应用程序支持多少文档 2

1.1.2 数据库 3

1.1.3 复合文档支持 4

1.1.4 外观和其他选项 5

1.1.5 其他选项 7

1.1.7 生成应用程序 8

1.1.6 文件和类名 8

1.1.8 试一试 9

1.2 生成基于对话的应用程序 10

1.3 生成DLL,控制台应用程序以及其他 13

1.3.1 ATL COM AppWizard 14

1.3.2 Custom AppWizard 14

1.3.3 Database Project 14

1.3.4 DevStudio Add-in Wizard 14

1.3.5 ISAPI Extension Wizard 14

1.3.6 Makefile 14

1.3.7 MFC ActiveX Control Wizard 14

1.3.12 Win32 Dynamic-Link Library 15

1.3.11 Win32 Console Application 15

1.4 改变AppWizard决定 15

1.3.13 Win32 Static Library 15

1.3.10 Win32 Application 15

1.3.9 Niw Database Wizard 15

1.3.8 MFC AppWizard(DLL) 15

1.5 理解AppWizard代码 16

1.5.1 单文档界面应用程序 16

1.5.2 其他文件 21

1.6 理解多文档界面应用程序 21

1.7 基于对话的应用程序 24

1.8 回顾AppWizard决定以及本书 26

1.9 小结 27

第二部分 用对话框和控件与应用程序交互第2章 对话框和控件 29

2.1 理解对话框 29

2 2 创建对话框资源 30

2.2.2 创建示例对话框 31

2.2.1 定义对话框和控件的ID 31

2.3 编写对话框类 32

2.4 使用对话框类 34

2.4.1 显示对话框 35

2.4.2 屏幕之后 36

2.4.3 使用列表框控件 37

2.4.4 使用单选按钮 41

2.5 小结 42

第3章 Windows 95常用控件 43

3.1 Win95控件应用程序 43

3.2 进度条控件 45

3.2.1 创建进度条 45

3.2.2 初始化进度条 46

3.2.3 操作进度条 46

3.3 滑块控件 46

3.3.1 创建跟踪条 47

3.3.2 初始化跟踪条 48

3.4 上下控件 49

3.3.3 操作滑块 49

3.5 图像列表控件 51

3.5.1 创建图像列表 52

3.5.2 初始化图像列表 52

3.6 列表视图控件 53

3.6.1 创建列表视图 56

3.6.2 创建列表视图的列 59

3.6.3 创建列表视图的项目 59

3.6.4 操作列表视图 61

3.7 树形视图控件 63

3.7.1 创建树形视图 64

3.7.2 创建树形视图的项目 66

3.8 Rich编辑控件 67

3.7.3 操作树形视图 67

3.8.1 创建rich编辑控件 68

3.8.2 初始化rich编辑控件 69

3.8.3 操作rich编辑控件 71

3.9 小结 73

第4章 消息和命令 74

4.1 消息传递 74

4.2 消息循环 75

4.3 消息映射 76

4.3.1 消息映射宏 77

4.3.2 消息映射是如何工作的 78

4.3.3 由MFC代码所捕获的消息 80

4.4 ClassWizard帮助用户捕获消息 80

4.4.1 带标签的ClassWizard对话框 80

4.4.2 添加Windows消息处理函数对话框 81

4.4.3 哪个类应捕获消息 82

4.5 消息列表 82

4.6 命令 84

4.7 命令更新 84

4.8 ClassWizard帮助用户捕获命令和命令更新 86

4.9 小结 87

第5章 文档和视图 88

5.1 了解文档类 88

5.2 了解视图类 90

5.3 建立Rectangles应用程序 93

5.4 其他视图类 97

5.5 文档模板,视图和框架窗口 98

5.6 小结 100

6.1 理解设备环境 101

第6章 在屏幕上绘图 101

第三部分 由应用程序获取信息 101

6.2 Pointl应用程序介绍 102

6.3 创建Paintl应用程序 103

6.3.1 在一个MFC程序中画图 104

6.3.2 切换显示 105

6.3.3 使用字体 106

6.3.4 改变窗口的大小和位置 110

6.3.5 使用画笔 111

6.3.6 使用画刷 113

6.4 滚动窗口 115

6.5 小结 121

第7章 打印和打印预览 122

7.1 理解MFC的基本打印和打印预览 122

7.2 缩放 124

7.3 打印多页 126

7.4 设置原点 131

7.5 MFC和打印 133

7.6 小结 135

第8章 持久性和文件I/O 136

8.1 对象和持久性 136

8.2 File Demo应用程序 136

8.2.1 Document类的回顾 138

8.2.2 File Demo的源代码的快速浏览 138

8.3 创建一个持久类 141

8.3.1 File Demo 2应用程序 142

8.3.2 CMessage类一览 142

8.3.3 在程序中使用CMessage类 145

8.4.2 CFile类 147

8.4.1 File Demo 3应用程序:使用CFile 147

8.4 直接读写文件 147

8.4.3 开发File Demo 3应用程序 149

8.5 创建自己的CArchive对象 151

8.6 注册 152

8.6.1 Registry是如何设置的 152

8.6.2 预定义的键 152

8.6.3 在MFC应用程序中使用 154

Registry 154

8.6.4 重新访问File Demo 2应用程序 155

8.7 小结 155

第9章 创建一个完整的应用程 157

序:ShowString 157

9.1 建立显示字符串的应用程序 157

9.1.1 用AppWizard创建一个空壳 157

9.1.2 显示字符串 158

9.2 建立ShowString菜单 161

9.3 创建ShowString对话框 164

9.3.1 ShowString的About对话框 164

9.3.2 ShowString的选项对话框 165

9.4 使菜单工作 166

9.4.1 对话框类 166

9.4.2 捕获消息 169

9.5 使对话框工作 170

9.6 向选项对话框添加外观选项 171

9.6.1 改变选项对话框 172

9.6.2 在对话框类中增加成员变量 173

9.6.3 在文档中增加成员变量 174

9.6.4 改变OnToolsOptions() 175

9.6.5 改变OnDraw() 176

9.7 小结 177

第四部分 改善用户界面 179

第10章 状态栏和工具栏 179

10.1 使用工具栏 179

10.1.1 删除工具栏按钮 179

10.1.2 添加按钮到工具栏 181

10.1.3 CToolBar类的成员函数 185

10.2 使用状态栏 186

10.2.1 创建新的命令ID 188

10.2.2 创建缺省字符串 188

10.2.3 添加ID到指示器数组 189

10.2.4 创建窗格的命令更新处理程序 190

10.2.5 设置状态栏的外观 191

10.3 小结 193

11.1 Help的不同类型 195

第11章 帮助 195

11.1.1 获得Help 196

11.1.2 显示Help 196

11.1.3 使用Help 196

11.1.4 编写Help程序 198

11.2 帮助系统的组件 198

11.3 AppWizard支持的Help 200

11.4 设计用户Help的方法 200

11.5 命令Help的编程 201

11.6 上下文Help的编程 202

11.7 编写Help文本 205

11.7.1 更改占位符字符串 207

11.7.2 添加主题 209

11.7.3 更改“How to Modify Text”主题 212

11.8 Contents的调整 213

11.9 小结 215

第12章 属性页,属性表和属性向导 216

12.1 属性表介绍 216

12.2 创建属性表演示应用程序 217

12.3 运行属性表演示应用程序 227

12.4 在用户应用程序中添加属性表 227

12.5 把属性表变成Wizards 228

12.5.1 运行Wizard Demo应用程序 229

12.5.2 创建Wizard页 230

12.5.3 显示Wizard 230

12.5.4 设置Wizard的按钮 231

12.5.5 响应向导的按钮 232

12.6 小结 233

13.1 ActiveX的目的 235

第13章 ActiveX概念 235

第五部分 AcriveX应用程序和控件 235

13.2 对象链接 238

13.3 对象嵌入 239

13.4 容器与服务器 240

13.5 更加直观的用户界面 241

13.6 组件对象模型 242

13.7 ActiveX Automation 243

13.8 ActiveX控件 245

13.9 小结 245

第14章 创建ActiveX容器应用程序 246

14.1 改变Showstring 246

14.1.1 由AppWizard生成的AetiveX容器代码 246

14.1.2 返回ShowString功能 262

14.2 移动、重设大小和跟踪 263

14.3 处理多个对象和对象选取 266

14.3.1 击中测试 266

14.3.2 画多个选项 267

14.3.3 处理单击 268

14.3.4 处理双击 271

14.4 实现拖放 271

14.4.1 实现拖动源 271

14.4.2 实现释放目标 273

14.4.3 注册视图作为释放目标 273

14.4.4 建立函数框架,添加成员变量 274

14.4.5 OnDragEnter 275

14.4.6 OnDragOver 277

14.4.7 OnDragLiave 279

14.4.8 OnDragDrop 279

14.5 删除对象 281

14.4.9 测试和拖动目标 281

14.6 小结 282

第15章 创建ActiveX服务器应用程 283

序 283

15.1 给ShowString添加服务器功能 283

15.1.1 AppWizard的服务器示例程序 283

15.1.2 再次显示字符串 298

15.2 既是服务器又是容器的应用程序 302

15.2.1 创建另一个版本的ShowString 302

15.2.2 嵌套和递归问题 303

15.3 ActiveX文档 304

15.3.1 ActiveX Documents做些什么 304

15.3.2 使ShowString成为ActiveX文档服务器 305

15.4 小结 309

第16章 创建自动服务器 310

16.1 再次设计ShowString 310

16.1.1 AppWizard的自动示例程序 310

16.1.2 揭示属性 313

16.1.3 OnDraw()函数 318

16.1.4 显示窗口 320

16.2 Visual Basic 322

16.3 类型库和ActiveX内核 325

16.4 小结 327

第17章 创建ActiveX控件 328

17.1 一个滚动的骰子控件 328

17.1.1 创建控件外壳 328

17.1.2 AppWizard的代码 330

17.2.1 添加属性 333

17.2 显示当前值 333

17.1.3 设计控件 333

17.2.2 编写绘图代码 335

17.3 响应鼠标单击和滚动骰子 337

17.3.1 通知容器 338

17.3.2 滚动骰子 339

17.4 更好的用户界面 341

17.4.1 位图图标 341

17.4.2 显示圆点 341

17.5 属性表 345

17.5.1 数字与圆点 345

17.5.2 用户选择的颜色 349

17.6 按需滚动 354

17.7.3 骰子数组 355

17.8 小结 355

17.7.1 允许与禁止滚动 355

17.7.2 具有非同寻常面数的骰子 355

17.7 进一步改进 355

第六部分 Internet编程 357

第18章 插口,MAPI和Internet 357

18.1 使用Windows插口 357

18.2 消息收发API(MAPI) 360

18.2.1 何为MAPI? 360

18.2.2 Win95标志要求 361

18.2.3 MAPI的高级应用 363

18.3 使用Visual C++4.2中的新的Internet类 365

18.4 使用Internet服务器API(ISAPI)类 366

18.5 小结 368

编程 370

19.1 设计Internet查询应用程序 370

第19章 用Winlnet类进行Internet 370

19.2 创建查询对话框 372

19.3 查询HTTP站点 374

19.4 查询FTP站点 379

19.5 查询Gopher站点 381

19.6 使用Gopher发送Finger查询 383

19.7 使用Gopher发送一个Whois查询 386

19.8 未来的工作 388

19.9 小结 388

第20章 创建一个Internet ActiveX 389

控件 389

20.1 在Micorsoft ExplorerWeb页中嵌入一个ActiveX控件 389

20.2 把一个ActiveX控件嵌入到NetscapeNavigatorWeb页中 392

20.3 为了改编和初始化安全而注册 394

ActiveX控件 398

20.4 在ActiveX和Java之间进行选择 398

20.5 使用AppWizard来创建更快的 398

20.6 用异步属性加速控件代码 402

20.6.1 属性 403

20.6.2 使用BLOB 403

20.6.3 改变Dieroll 404

20.6.4 测试和调试Dieroll 410

20.7 小结 411

第21章 活动模板库 413

21.1 为何使用ATL? 413

21.2 用AppWizard开始 414

21.3 使用Object Wizard 415

21.3.1 在工程中加入一个控件 415

21.3.2 命名此控件 415

21.3.3 设置控件属性 416

21.3.4 支持Stock属性 418

21.4 给控件添加属性 418

21.4.1 由Object Wizard生成的代码 418

21.4.2 添加ReadyState Stock属性 421

21.4.3 增加定制属性 421

21.4.4 初始化属性 423

21.4.5 添加异步属性 424

21.5 绘制控件 427

21.6 持久性和属性页 431

21.6.1 增加一个属性页 431

21.6.2 连接属性页到CDieRoll 435

21.6.3 在属性包中的持久性 435

21.7 在Control Pad中使用控件 435

21.8.1 编辑idl文件 436

21.8 增加事件 436

21.8.2 IConnectionPoint接口的包装类 437

21.8.3 触发单击事件 438

21 8.4 触发ReadyStateChange事件 439

21.9 展示DoRoll()函数 439

21.10 Init Safe和Script Safe的注册 440

21.11 准备在设计模式中使用的控件 441

21.12 最小化可执行文件大小 442

21.13 在Web页中使用控件 444

21.14 修正闪烁 445

21.15 小结 446

第七部分 高级编程技术 447

第22章 数据库访问 447

22.1 数据库概念 447

22.1.3 数据库访问 448

22.1.2 关系数据库模型 448

22.1.1 平面数据库模型 448

22.1.4 Visual C++ ODBC类 450

22.2 创建ODBC数据库应用程序 450

22.2.1 注册数据库 450

22.2.2 创建基本的Employee应用程序 452

22.2.3 创建数据库显示 455

22.2.4 添加和删除记录 459

22.2.5 OnRecordAdd()函数分析 464

22.2.6 OnMove()函数分析 464

22.2.7 OnRecordDelete()函数分析 465

22.2.8 排序与过滤 465

22.2.9 OnSortDept()函数分析 470

22.2.10 DoFilter()函数分析 470

22.3 在ODBC与DAO之间作出选择 471

22.4 OLE DB 472

22.5 小结 473

第23章 最新的企业版 474

23.1 SQL 474

23.2 在C++中使用SQL操作数据库 475

23.3 开发出版应用程序 476

23.3.1 创建应用程序外壳 476

23.3.2 数据连接 479

23.3.3 查询设计器 481

23.3.4 存储过程 482

23.3.5 编写新的存储过程 484

23.3.6 存储过程与C++代码的连接 486

23.4 使用数据库 489

23.4.1 数据库设计器 489

23.4.2 数据库图表 491

23.5 Microsoft事务处理服务器 492

23.6 使用Visual SourceSafe 493

23.7 小结 494

第24章 提高应用程序性能 495

24.1 ASSERT和TRACE 495

24.1.1 ASSERT:检测逻辑错误 495

24.1.2 TRACE:隔离用户程序中存 496

在问题的区域 496

24.2 只调试特征 497

24.3 封住内存泄漏 499

24.3.1 内存泄漏的共同原因 499

24.3.2 调试使用new和delete调用 500

的代码 500

24.3.3 自动指针 501

24.4 优化 502

24.5 配置 504

24.6 小结 504

第25章 用Gallery和用户自己的 506

AppWizard的实现重用 506

25.1 书写可重用代码的优点 506

25.2 使用Component Gallery 507

25.2.1 向Gallery中添加一个组件 507

25.2.2 在用户项目中使用Gallery 508

Components 508

25.3 开发Gallery 509

25.4 定制的AppWizard介绍 510

25.5 小结 513

补充 514

26.1 例外 514

第26章 例外、模板和C++的最新 514

26.1.1 简单的例外处理 515

26.1.2 例外对象 516

26.1.3 放置catch块 517

26.1.4 处理多种类型的例外 521

26.1.5 旧的例外机制 523

26.2 使用模板 523

26.2.1 模板介绍 524

26.2.2 创建函数模板 524

26.2.3 创建类模板 526

26.2.4 标准模板库 530

26.3 使用运行时类型信息 532

26.3.1 RTTI介绍 532

26.3.3 获得对象信息 533

26.3.2 实现安全的向下传播 533

26.3.4 准备使用RTTI 535

26.4 名字空间 536

26.4.1 定义一个名字空间 536

26.4.2 名字空间范围确定 537

26.4.3 未命名的名字空间 538

26.4.4 名字空间别名 538

26.5 新的关键字与数据类型 539

26.5.1 bool数据类型 539

26.5.2 mutable关键字 539

26.5.3 typename关键字 540

26.5.4 explicit关键字 541

26.6 小结 541

理 543

27.1 简单线程 543

第27章 Windows线程的多任务处 543

27.2 线程通信 547

27.2.1 利用全局变量通信 547

27.2.2 利用用户定义的消息通信 549

27.2.3 利用事件对象通信 551

27.3 使用线程同步 553

27.3.1 使用临界区 553

27.3.2 使用互斥 558

27.3.3 使用信号量 559

27.4 小结 562

第28章 未来的开发方法 563

28.1 创建控制台应用程序 563

28.1.1 创建一个控制台可执行程序 563

28.1.2 编写一个面向对象的控制台应用程序 565

28.1.3 搭架起离散的算法 566

28.2 创建并使用一个32位的动态链接库 567

28.3 制作一个32位的DLL 569

28.4 使用32位DLLs 572

28.5 发送消息和命令 574

28.6 软件的国际化发展趋势 575

28.7 小结 577

第八部分 附录 579

附录A Windows编程回顾以及CWnd 579

内幕 579

附录B DeveloperStudio用户界面 588

附录C 调试 639

附录D MFC宏和全局变量 651

附录E 有用的类 658

附录F Visual Basic Script快速参考 681

附录G 光盘内容简介 777