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

  • 购买积分:18 如何计算积分?
  • 作  者:(美)(K.格雷戈里)K.Gregory著;前导工作室译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:1999
  • ISBN:7111070070
  • 页数:625 页
图书介绍:

前言 1

第一部分 开始学习 1

第1章 创建一个Windows应用程序 1

1.1 生成一个Windows应用程序 1

译者序 1

1.1.1 选择文档界面风格 2

1.1.2 数据库 3

1.1.3 复合文档支持 4

1.1.4 外观和其他选项 5

1.1.6 文件名和类名 7

5.4 滚动窗口 7

1.1.5 其他选项 7

1.1.8 试验应用程序 8

1.1.7 生成应用程序 8

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

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

1.3.1 ATL COM AppWizard 13

1.3.2 Custom AppWizard 13

1.3.3 Database Project 13

1.3.4 DevStudio Add-In Wizard 13

1.3.9 Win32 Application 14

1.3.11 Win32 Dynamic Link Library 14

1.3.10 Win32 Console Application 14

1.3.5 ISAPI Extension Wizard 14

1.3.8 MFC AppWizard(DLL) 14

1.3.7 MFC ActiveX Control Wizard 14

1.3.6 Makefile 14

1.5.1 单文档界面应用程序 15

1.3.12 Win32 Static Library 15

1.4 在应用程序向导中改变选择项目 15

1.5 理解应用程序向导所生成的代码 15

1.5.3 理解多文档界面应用程序代码 20

1.5.2 其他文件 20

1.5.4 理解基于对话框的应用程序代码 23

1.6 回顾AppWizard的选择项和本章小结 25

第2章 对话框和控件 27

2.1 理解对话框 27

2.2 创建对话框资源 27

2.2.1 定义对话框和控件ID 29

2.2.2 创建示例对话框 29

2.3 编写对话框类 30

2.4 使用对话框类 32

2.4.1 显示对话框 32

2.4.2 屏幕之后 34

2.4.3 使用列表框控件 35

2.4.4 使用单选按钮 38

第3章 消息和命令 40

3.1 理解消息机制 40

3.2 理解消息循环 41

3.3 消息映射 43

3.3.1 消息映射宏 43

3.3.2 消息映射如何工作? 44

3.3.3 MFC代码捕获的消息 45

3.4 怎样利用ClassWizard捕获消息 46

3.4.1 ClassWizard对话框 46

3.4.2 添加Windows消息处理对话框 47

3.4.3 捕获消息的类 48

3.5 识别消息 48

3.6 理解命令 49

3.7 理解命令更新 50

3.8 怎样利用ClassWizard捕获命令与命令更新 51

第二部分 从应用程序得到信息 53

第4章 文档和视图 53

4.1 理解文档类 53

4.2 理解视图类 55

4.3 创建Rectangles应用程序 57

4.4 其他视图类 61

4.5 文档模板、视图和框架窗口 62

5.1 理解设备环境 64

第5章 在屏幕上绘图 64

5.2 介绍Paintl应用程序 65

5.3 创建Paintl应用程序 66

5.3.1 在MFC程序中画图 66

5.3.2 切换显示 67

5.3.3 使用字体 69

5.3.4 改变窗口的大小和位置 72

5.3.5 使用画笔 73

5.3.6 使用画刷 74

5.4.1 创建Scroll应用程序 77

5.4.3 添加代码减少行 80

5.4.2 添加代码增加行 80

6.1 理解MPC的基本打印和打印预览 83

第6章 打印和打印预览 83

6.2 缩放 85

6.3 打印多页 86

6.3.1 设置原点 91

6.3.2 MFC和打印 92

第7章 持久性和文件I/O 95

7.1 对象的持久性 95

7.2 File Demo应用程序 95

7.2.1 文档类的回顾 95

7.2.2 创建File Demo应用程序 96

7.3 创建一个持久类 99

7.3.2 CMessages类一览 100

7.3.1 File Demo 2应用程序 100

7.3.3 在程序中使用CMessages类 103

7.4 直接读写文件 104

7.5 创建自己的CArchive对象 106

7.6 理解注册 106

7.6.1 注册是如何设置的 107

7.6.2 预定义的键 108

7.6.3 在MFC应用程序中使用“注册” 108

7.6.4 简单的应用程序 109

第8章 创建一个完整的应用程序:ShowString 110

8.1 建立显示字符串的应用程序 110

8.1.1 用AppWizard创建一个程序的空壳 110

8.1.2 显示字符串 111

8.2 建立ShowString菜单 113

8.3 创建ShowString对话框 116

8.3.1 ShowString的About对话框 116

8.3.2 ShowString的Options对话框 117

8.4 使菜单工作 118

8.4.1 对话框类 118

8.4.2 捕获消息 121

8.5 使对话框工作 122

8.6 向Options对话框添加外观选项 123

8.6.1 改变Options对话框 123

8.6.2 在对话框类中增加成员变量 124

8.6.3 在文档中增加成员变量 125

8.6.4 改变OnTools Options() 126

8.6.5 改变OnDraw() 127

第三部分 改善用户界面 129

第9章 状态栏和工具栏 129

9.1 使用工具栏 129

9.1.1 删除工具栏按钮 129

9.1.2 添加按钮到工具栏 131

9.1.3 CToolBar类的成员函数 134

9.2 使用状态栏 135

9.2.1 创建新的命令ID 136

9.2.2 创建缺省字符串 137

9.2.3 添加ID到指示器数组 138

9.2.4 创建窗格的命令更新处理程序 138

9.2.5 设置状态栏的外观 140

9.3 使用Rebars 142

第10章 常用控件 145

10.1 进度条控件 147

10.1.1 创建进度条 147

10.1.2 初始化进度条 148

10.1.3 操作进度条 148

10.2 滑块控件 149

10.2.1 创建滑块 149

10.2.2 初始化滑块 150

10.2.3 操作滑块 150

10.3 上下控件 151

10.4 图像列表控件 152

10.4.2 初始化图像列表 153

10.4.1 创建图像列表 153

10.5 列表视图控件 154

10.5.1 创建列表视图 156

10.5.2 创建列表视图的列 157

10.5.3 创建列表视图的项目 158

10.5.4 操作列表视图 159

10.6 树形视图控件 163

10.6.1 创建树形视图 164

10.6.2 创建树形视图的项目 165

10.6.3 操作树形视图 167

10.7 Rich Edit控件 168

10.7.1 创建Rich Edit控件 168

10.7.3 操作Rich Edit控件 169

10.7.2 初始化Rich Edit控件 169

10.8 IP地址控件 172

10.9 日期提取(Date Picker )控件 172

10.10 月历(Month Calendar)控件 174

10.11 卷动视图 174

第11章 帮助 176

11.1 不同类型的Help 176

11.1.1 获得Help 176

11.1.2 显示Help 177

11.1.3 使用Help 178

11.1.4 编写Help程序 179

11.2 帮助系统的组件 179

11.3 AppWizard支持的Help 180

11.4 设计你自己的Help的方法 181

11.5 命令Help的编程 182

11.6 上下文Help的编程 183

11.7 编写Help文本 186

11.7.1 更改占位符字串 187

11.7.2 添加主题 189

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

11.8 Contents的调整 193

第12章 属性页和属性表 195

12.1 属性表介绍 195

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

12.2.1 创建基本文件 196

12.2.2 编辑资源 196

12.2.3 添加新资源 199

12.2.4 建立资源和类的关联 200

12.2.5 创建属性表类 201

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

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

12.5 把属性表变成Wizard(向导) 205

12.5.1 运行Wizard Demo应用程序 206

12.5.2 创建Wizard页 207

12.5.3 显示Wizard 207

12.5.4 设置Wizard的按钮 208

12.5.5 响应Wizard的按钮 208

第四部分 ActiveX应用程序与ActiveX控件 211

第13章 ActiveX概念 211

13.1 ActiveX的目的 211

13.2 对象链接 213

13.3 对象嵌入 214

13.4 容器和服务器 215

13.5 面向更加直观的用户界面 216

13.6 组件对象模型 217

13.7 自动化 219

13.8 ActiveX控件 220

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

14.1 更改ShowString 221

14.1.1 AppWiard生成ActiveX容器代码 221

14.1.2 恢复ShowString的功能 235

14.2 移动、改变大小和跟踪 236

14.3 处理多个对象和对象选择 239

14.3.1 击中测试 239

14.3.2 画多个项目 240

14.3.3 处理单击 241

14.3.4 处理双击 243

14.4 实现拖放 244

14.4.1 实现拖动源 244

14.4.2 实现释放目标 245

14.4.3 将视图作为释放目标注册 246

14.4.4 建立函数框架并添加成员函数 246

14.4.5 OnDragEnter() 247

14.4.6 OnDragOver() 249

14.4.7 OnDragLeave() 251

14.4.8 OnDragDrop() 251

14.5 删除对象 253

14.4.9 测试和拖动目标 253

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

15.1 给ShowString增加服务器功能 255

15.1.1 AppWizard的服务器示例程序 255

15.1.2 再次显示字符串 269

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

15.2.1 创建另一个版本的ShowString 273

15.2.2 嵌套和递归问题 273

15.3 ActiveX文档* 274

15.3.1 ActiveX文档做些什么 275

15.3.2 使用ShowString 成为ActiveX文档服务器 276

16.1 再次设计ShowString 279

16.1.1 AppWizard的自动模板 279

第16章 创建自动服务器 279

16.1.2 揭示属性 282

16.1.3 OnDraw()函数 286

16.1.4 显示窗口 288

16.2 在Visual Basic 中创建控制器应用程序 290

16.3 类型库和ActiveX 实质 292

第17章 创建ActiveX控件 295

17.1 创建一个骰子滚动控件 295

17.1.1 创建控件外壳 295

17.1.2 AppWizard的代码 297

17.2 显示当前值 299

17.2.1 添加属性 299

17.1.3 设计控件 299

17.2.2 编写绘图代码 301

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

17.3.1 通知容器 303

17.3.2 滚动骰子 305

17.4 创建更好的用户界面 306

17.4.1 位图图标 306

17.4.2 显示圆点 307

17.5 生成属性表 310

17.5.1 数字与圆点 310

17.5.2 用户选定的颜色 314

17.6 按要求滚动 319

17.7 将来的改进 319

17.7.1 允许与禁止滚动 319

17.7.3 骰子数组 320

17.7.2 具有与众不同的面数的骰子 320

第五部分 Internet编程 321

第18章 Sockets、MAPI和Internet 321

18.1 使用Windows Sockets 321

18.2 使用消息收发API(MAPI) 324

18.2.1 何为MAPI 324

18.2.2 Windows95标识要求 325

18.2.3 MAPI的高级应用 326

18.3 使用WinInet类 328

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

第19章 用WinInet类进行Internet编程 333

19.1 设计Internet查询程序 333

19.2 创建查询对话框 334

19.3 查询HTTP站点 336

19.4 查询FTP站点 341

19.5 查询Gopher站点 342

19.6 使用Gopher发送Finger查询 345

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

19.8 未来的工作 349

第20章 创建一个Internet ActiveX控件 351

20.1 在Microsoft Internet Explorer Web页中嵌入ActiveX控件 351

20.2 在Netscape Navigator Web页中嵌入ActiveX控件 354

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

20.4 ActiveX控件与Java Applets的选取 358

20.5 使用AppWizard创建更快的ActiveX控件 359

20.6.1 属性 363

20.6 利用异步属性提高控件的加载速度 363

20.6.2 使用BLOB 364

20.6.3 修改Dieroll 365

20.6.4 测试和调试Dieroll 370

第21章 活动模板库 372

21.1 为什么使用ATL 372

21.2 使用APPWizard入门 373

21.3 使用Object Wizard 373

21.3.1 在项目中添加一个控件 374

21.3.2 命名控件 374

21.3.3 设置控件属性 374

21.3.4 支持Stock属性 376

21.4.1 由Object Wizard生成的代码 377

21.4 给控件添加属性 377

21.4.2 添加ReadyState Stock 属性 379

21.4.3 增加定制属性 379

21.4.4 初如化属性 381

21.4.5 添加异步属性 382

21.5 绘制控件 385

21.6.1 添加属性页 389

21.6 持久性和属性页 390

21.6.2 连接属性页到CDieRoll 393

21.6.3 在属性包中的持久性 393

21.7 在Control Pad中使用控件 393

21.8 增加事件 394

21.8.1 给事件接口添加方法 394

21.8.2 实现IConnectionPoint接口 395

21.8.3 触发Click事件 395

21.8.4 触发ReadyStateChange事件 396

21.9 暴露DoRoll()函数 397

21.10 Init Safe和Script Safe的注册 398

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

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

21.13 在Web页中使用控件 401

第六部分 高级编程技术 403

第22章 数据库访问 403

22.1 理解数据库的概念 403

22.1.1 使用平面数据库模型 403

22.1.2 使用关系数据库模型 404

22.1.3 数据库访问 405

22.1.4 Visual C++ ODBC类 405

22.2.1 注册数据库 406

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

22.2.2 创建基本的Empolyee应用程序 408

22.2.3 创建数据库显示 411

22.2.4 添加和删除记录 413

22.2.5 OnRecordAdd函数分析 418

22.2.6 OnMove函数分析 418

22.2.7 OnRecordDelete()函数分析 419

22.2.8 排序与过滤 419

22.2.9 OnSortDept()函数分析 424

22.2.10 DoFilter()函数分析 424

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

22.4 OLEDB 426

23.2 理解SQL 427

23.1 什么是企业版 427

第23章 最新的企业版 427

23.3 在C++中使用SQL操作数据库 428

23.4 开发发布应用程序 429

23.4.1 建立Data Source 429

23.4.2 创建应用程序外壳 432

23.4.3 建立数据连接 434

23.4.4 使用查询设计器 436

23.4.5 存储过程 437

23.4.6 编写新的存储过程 439

23.4.7 存储过程与C++代码的连接 440

23.5 使用数据库 443

23.5.1 数据库设计器 443

23.5.2 数据库图表 444

23.6 理解Microsoft事务处理服务器 445

23.7 使用Visual SourceSafe 446

第24章 改进应用程序性能 448

24.1 使用ASSERT和TRACE防止错误 448

24.1.1 ASSERT:检测逻辑错误 448

24.1.2 TRACE:隔离程序中存在问题的区域 449

24.2 增加只调试特性 450

24.3 防止内存泄漏 451

24.3.1 内存泄漏的常见原因 451

24.3.2 调试使用new和delete的代码 453

24.3.3 自动指针 454

24.4 通过优化使代码效率更高 455

24.5 利用配置文件找到瓶颈 456

25.2 使用Component Gallery 457

第25章 使用Galiery和自己的AppWizard实现重用 457

25.1 编写可重用代码的优点 457

25.2.1 向Gallery中添加一个组件 458

25.2.2 在用户项目中使用Gallery组件 459

25.2.3 开发Gallery 460

25.3 定制AppWizard简介 460

25.4 小结 463

第26章 异常的模板 464

26.1 异常 464

26.1.1 简单的异常处理 465

26.1.2 异常对象 466

26.1.3 放置catch块 467

26.1.4 处理多种类型的异常 471

26.2.1 模板介绍 473

26.2.2 创建函数模板 473

26.1.5 旧的异常机制 473

26.2 使用模板 473

26.2.3 创建类模板 475

26.3 标准模板库 479

26.3.1 管理指针模板:auto_ptr 479

26.3.2 其他有用的STL模板 481

26.4 名字空间 481

26.4.1 定义一个名字空间 481

26.4.2 名字空间范围确定 482

26.4.3 未命名的名字空间 483

26.4.4 名字空间别名 484

27.1 简单线程 485

第27章 Windows线程的多任务处理 485

27.2 线程通信 488

27.2.1 利用全局变量通信 489

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

27.2.3 利用事件对象通信 492

27.3 使用线程同步 494

27.3.1 使用临界区 494

27.3.2 使用互斥 499

27.3.3 使用信号量 500

第28章 未来的开发方法 504

28.1 创建控制台应用程序 504

28.1.1 创建控制台可执行程序 504

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

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

28.1.3 搭架起离散的算法 507

28.2.1 创建32位DLL 512

28.2.2 使用32位DLL 514

28.3 发送消息和命令 515

28.4 软件的国际化发展趋势 517

第七部分 附 录 519

A C++回顾和面向对象的概念 519

B Windows编程回顾以及CWnd内幕 533

C Developer Studio的界面、菜单和工具栏 542

D 调试 585

E MFC宏和全局变量 598

F 有用的类 605