《Visual C++自学指南》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)(M.安德鲁斯)Mark Andrews著;蒋明,程昱译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1997
  • ISBN:7302024472
  • 页数:292 页
图书介绍:

引言 1

0.1 使用本书时需要什么 1

0.2 获取联机帮助 1

0.3 本书内容 2

第一章 介绍Visual C+++ 3

1.1 Visual C+++编程环境 3

1.1.1 Visual C+++编辑器 4

1.1.2 Visual C+++向导和App Studio 5

1.2 用Visual C+++编程 8

1.3 Visual C+++的建立过程 8

1.4 MFC库 9

1.4.1 MFC:“新的Windows API” 9

1.4.2 MFC和Visual C+++ 10

1.5 编写Visual C+++程序 10

1.5.1 理解Visual C+++项目 10

1.5.2 分步编写Visual C+++程序 11

1.6 后续内容 14

第二章 Windows程序设计简介 15

2.1 世界上第一个C语言程序 15

2.1.1 “Hello,world!”程序的结构 16

2.2 Windows事件和消息:概述 16

2.2.1 消息队列和消息泵 17

2.2.2 窗口过程 17

2.2.3 消息处理器 18

2.3 例子:HELLO程序 18

2.3.1 建立HELLO程序的方法 19

2.3.2 分步建立HELLO程序 19

2.4 HELLO程序如何工作 22

2.4.1 WinMain函数是如何工作的 23

2.4.2 登记一个窗口类 25

2.4.3 创建和显示窗口 27

2.4.4 在窗口中绘制文字 28

2.5 后续内容 31

3.1 什么是面向对象的程序设计 32

第三章 C+++基础 32

3.2 老朋友,新面孔 33

3.2.1 类型说明符 33

3.2.2 限制符 39

3.3 C+++类 42

3.3.1 声明类 42

3.3.2 访问说明符 43

3.3.3 内联成员函数 43

3.3.4 例子:EMPINFO程序 44

3.3.5 构造函数和析构函数 47

3.3.6 缺省函数参数 48

3.3.7 拷贝构造函数 49

3.3.8 例子:CPYCONST程序 50

3.3.9 初始化列表 51

3.3.10 作用域分解操作符 51

3.3.11 this指针 52

3.4 后续内容 53

4.1.1 理解类层次结构 55

第四章 对象和成员函数 55

4.1 类层次结构和继承性 55

4.1.2 派生类如何工作 56

4.1.3 为什么使用派生类 56

4.2 例子:派生一个类 57

4.2.1 C+++中继承的规则 59

4.2.2 声明一个派生类 59

4.3 构造派生类 59

4.4 重载成员函数 61

4.5 多态性和虚成员函数 64

4.5.1 例子:使用虚函数 64

4.5.2 VIRTUAL程序是如何工作的 65

4.5.3 虚函数和非虚函数 66

4.5.4 使用虚函数的好处 66

4.5.5 V表 67

4.5.6 纯虚函数与抽象类 71

4.6.1 函数重载 72

4.6 函数重载和操作符重载 72

4.5.7 在EMPDATA程序中是如何使用抽象类的 72

4.5.8 虚函数:优点和缺点 72

4.6.2 操作符重载 74

4.6.3 书写操作符重载函数 75

4.7 静态成员变量 77

4.7.1 创建静态成员变量 77

4.7.2 声明和定义静态成员变量 78

4.7.3 访问静态成员变量 78

4.7.4 私有静态成员变量 79

4.8 静态成员函数 80

4.9 友元类和友元函数 81

4.9.1 单向的友谊 81

4.10 new和delete操作符 83

4.10.1 new操作符 84

4.10.2 delete操作符 84

4.11 后续内容 85

第五章 Visual C+++工具 86

5.1.1 创建基本的SCRAMBLE项目 87

5.1 Visual C+++项目 87

5.1.2 AppWizard项目中的文件和类 90

5.1.3 SCRAMBLE项目中的文件 90

5.2 加入一个位图:用AppStudio管理资源 91

5.3 编写代码以显示位图 94

5.3.1 对位图的操作 94

5.4 建立一个Visual C+++应用程序 97

5.4.1 编译一个应用程序 97

5.4.2 链接一个应用程序 99

5.5 执行SCRAMBLE程序 100

5.6 用App Studio编辑菜单 101

5.7 用ClassWizard创建消息处理器 103

5.8 为消息处理器编写代码 105

5.9 Visual C+++调试器 106

5.9.1 设置断点 106

5.9.2 单步执行一个程序 106

5.10 清单:SCRAMBLE程序 107

5.9.3 打开调试器窗口 107

5.11 后续内容 114

第六章 MFC库 115

6.1 MFC库概述 116

6.2 MFC简史 117

6.2.1 MFC版本2.0 117

6.2.2 MFC:新的Windows API 117

6.3 MFC库中类的层次 119

6.4 MFC框架类 122

6.4.1 CObject类 122

6.4.2 CCmdTarget类 122

6.4.3 CWinApp类 123

6.4.4 CWnd类 123

6.4.5 CFrameWnd和CMDIFrameWnd类 124

6.4.6 CView,CScrollView和CDocument类 124

6.5.1 WinMain函数 125

6.5 MFC程序是怎样工作的 125

6.4.7 CDocTemplate类 125

6.5.2 InitInstance成员函数 126

6.5.3 Run成员函数 127

6.5.4 PumpMessage成员函数 128

6.5.5 MFC程序中的窗口过程 129

6.5.6 在MFC程序中使用文档和视图 129

6.5.7 文档模板 133

6.6 例子:改进后的SCRAMBLE程序 135

6.6.1 新的SCRAMBLE程序的实践 135

6.6.2 在新的SCRAMBLE程序中如何管理窗口 135

6.6.3 在SCRAMBLE程序中增加工具栏按钮 136

6.6.4 更新SCRAMBLE程序的菜单项 140

6.6.5 为SCRAMBLE程序创建单色的位图 142

6.6.6 为SCRAMBLE程序的视图增加滚动能力 144

6.6.7 定制程序窗口 146

6.7 后续内容 149

7.1 理解Windows消息 150

第七章 关于鼠标和消息 150

7.1.1 各种Windows消息 151

7.1.2 Windows API类型的程序怎样处理命令消息 154

7.1.3 MFC程序是怎样处理命令消息的 154

7.1.4 MFC框架怎样分发消息 155

7.2 消息映像 156

7.2.1 使用消息映像的好处 156

7.2.2 将消息映像联接到你的程序中 157

7.2.3 说明一个消息映像 157

7.2.4 实现一个消息映像 158

7.2.5 ClassWizard认识的消息 159

7.3 使用ClassWizard创建消息处理程序 161

7.3.1 至此的问题 162

7.4 为消息处理程序编写代码 163

7.4.1 不同的笔划 163

7.4.3 逐步编写消息处理程序 164

7.4.2 将笔划存储到数组中 164

7.4.4 把设备坐标转换为逻辑坐标 165

7.4.5 编写一个OnMouseMove消息处理程序 166

7.4.6 把笔划存储到文档中 169

7.4.7 在SCRIBBLE窗口中重绘笔划 171

7.4.8 创建和管理一个CPen对象 172

7.5 理解MFC库类 173

7.5.1 CObject类的特性 173

7.6.1 在MFC程序中打开文件 174

7.6 文件和串行化技术 174

7.6.2 使用CFile类完成文件I/O 175

7.7 串行化机制 176

7.7.1 流I/O中所使用的对象和操作符 177

7.7.2 使用《和》操作符 177

7.7.3 在MFC程序中实现串行化技术 178

7.7.4 在AppWizard程序中实现串行化技术 179

7.7.5 在SCRIBBLE程序中实现串行化技术 179

7.7.6 可串行化的数据类型 181

7.7.7 MFC的串行化宏 182

7.7.8 在MFC程序中打开或关闭文档 183

7.7.9 清除SCRIBBLE程序的窗口 184

7.7.10 改变笔的宽度 185

7.8 后续内容 186

第八章 对话框 187

8.1.2 无模式对话框 188

8.1.3 消息框 188

8.1.1 模式对话框 188

8.1 各种对话框 188

8.2 对话框的组成元素 189

8.3 使用App Studio和ClassWizard设计一个对话框 189

8.4 把对话框集成到应用程序中 191

8.5 创建和显示一个模式对话框 191

8.5.1 调用对话框构造函数 192

8.5.2 调用DoModal函数 193

8.5.3 调用OnInitDialog函数 193

8.6.1 构造一个无模式对话框 195

8.6 创建并显示一个无模式对话框 195

8.6.2 调用Create函数 196

8.6.3 初始化一个无模式对话框 196

8.6.4 替换OnOK和OnCancel 197

8.6.5 调用PostNcDestroy 198

8.7 创建并显示一个消息框 199

8.8 对话框控制 199

8.8.1 按钮控制 199

8.8.2 编辑控制 202

8.8.3 静态文本控制 204

8.8.4 单选按钮 205

8.8.5 列表框 206

8.8.6 组合框 207

8.8.7 复选框 208

8.9 后读内容 209

第九章 管理数据 210

9.1.2 理解DDX/DDV:TESTAPP程序 211

9.1.1 老的方法 211

9.1 DDX和DDV机制 211

9.1.3 创建TESTAPP项目并增加DDX支持 212

9.1.4 实现DDX/DDV机制 216

9.1.5 理解UpdateData命令 219

9.1.6 一种更方便的方法 219

9.1.7 逐步地调用UpdateData函数 220

9.1.8 运行TESTAPP程序 221

9.2 扩展DDX/DDV:CREATION程序 221

9.2.1 CREATION程序的结构 224

9.2.2 创建一个CPlayer对象 226

9.2.3 Create A Character对话框 229

9.2.4 Mel s Bait Shop And Fashion Boutique对话框 235

9.2.5 Character Information对话框 239

9.3 重温串行化技术 240

9.3.1 CREATION程序的Serialize成员函数 241

9.3.2 CPlayer类的Serialize成员函数 241

9.4.1 AppWizard的与打印有关的函数 243

9.4 增加打印支持 243

9.4.2 在CREATION程序中进行专门打印 244

9.4.3 调用OnPrint成员函数 244

9.4.4 OnPrint成员函数是怎样工作的 246

9.4.5 GetStats成员函数 247

9.4.6 调用GetEquipmentList成员函数 247

9.5 后续内容 248

第十章 Visual C+++图形 249

10.1 位图 250

10.1.1 各种Windows位图 251

10.2 设备相关位图(DDB) 252

10.2.1 创建DDB 252

10.2.2 获取和保存DDB 254

10.2.3 拷贝和显示位图 254

10.3 小型动画 258

10.3.1 逐步制作小型动画 258

10.3.2 在动画程序中使用帧缓存 259

10.3.3 避免在位图拷贝操作中出现闪烁和过快现象 260

10.3.4 在动画序列中计算边界矩形 261

10.3.5 分步动画 262

10.4 例子:GRAFDEMO程序 263

10.4.1 GRAFDEMO程序怎样工作 263

10.4.2 逐步分析GRAFDEMO程序 263

10.4.3 在GRAFDEMO程序中构造位图 265

10.4.4 准备好制作动画 266

10.4.5 GRAFDEMO程序的OnDraw函数 267

10.4.7 绘制玩家画像 268

10.4.6 绘制背景 268

10.4.8 移动小位图 270

10.4.9 计算边界矩形 271

10.5 设备无关位图(DIB) 272

10.5.1 DIB怎样加速拷贝操作 272

10.5.2 使用DIB的缺点 273

10.5.3 DIB的结构 274

10.6 调色板 279

10.6.3 逻辑调色板 280

10.6.1 系统调色板 280

10.6.2 缺省逻辑调色板 280

10.6.4 DIBDEMO程序怎样使用调色板 282

10.6.5 把系统调色板颜色映像到逻辑调色板 283

10.6.6 创建和使用逻辑调色板 283

10.6.7 使用等同调色板来简化DIB拷贝过程 283

10.6.8 创建一个等同调色板 284

10.7 创建和使用DIB 284

10.7.1 DIB拷贝操作 285

10.7.2 使用StretchDIBits函数 285

10.7.3 使用SetDIBsToDevice函数 286

10.8 例子:DIBDEMO程序 287

10.8.1 DIBDEMO程序怎样工作 287

10.8.2 把DIB取入内存 288

10.8.3 拷贝和显示DIB 289

10.8.4 StretchDIBits成员函数 290

10.9 后续内容 292