Visual C++从入门到精通(二版)

Visual C++从入门到精通(二版)
作 者: 刘丹 张亚新
出版社: 化学工业出版社
丛编项: 程序员书库系列
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: VC++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Visual C++从入门到精通(二版)》作者简介

内容简介

Visual C++ 6.0是当前最为流行的可视化编程环境之一。本书由浅入深、循序渐进地讲解了如何使用Visual C++的开发环境进行软件开发。本书分为基础篇和实例篇:基础篇从Visual C++集成开发环境讲起,介绍了MFC与应用程序框架、C++语言基础与工具控件、多媒体技术、多线程编程、网络编程等技术;实例篇中通过两个开发实例介绍了具体的运用技巧,并在最后一章介绍了Visual C++开发人员笔试中经常遇到的问题。本书内容非常适合Visual C++的入门读者,可作为大中专院校Visual C++和Windows程序设计课程的教材;同时由于包含深入开发的内容,本书也适合Visual C++开发人员参考使用。

图书目录

第一篇 基础篇

第1章 Visual C++集成开发环境 2

1.1 Visual C++ 6.0概述 2

1.2 安装Visual C++ 6.0集成开发环境 2

1.3 Visual C++ 6.0界面介绍 5

1.3.1 工作区窗口和输出窗口 6

1.3.2 菜单栏和工具栏 7

1.3.3 编辑区 7

1.3.4 联机帮助 7

1.3.5 第一个程序 8

1.3.6 Visual C++中的文件扩展名 9

1.4 小结 10

1.5 习题 10

第2章 MFC与应用程序框架 11

2.1 微软基础类库MFC 11

2.1.1 MFC概述 11

2.1.2 MFC类库结构 11

2.2 MFC应用程序框架分析 12

2.2.1 入口函数 12

2.2.2 InitInstance()函数 14

2.2.3 应用类Run()函数 15

2.2.4 消息映射表 16

2.2.5 MFC消息分类 17

2.3 小结 18

2.4 习题 18

第3章 C++语言基础 19

3.1 一个简单的C++程序 19

3.1.1 创建一个空的工程 19

3.1.2 添加C++源文件 20

3.1.3 添加代码 21

3.1.4 编译并运行程序 22

3.2 C++的基本数据类型及数据 22

3.2.1 基本数据类型 23

3.2.2 变量 23

3.2.3 常量 24

3.3 C++的表达式及运算符 25

3.3.1 表达式 25

3.3.2 运算符 25

3.3.3 运算符的优先级 28

3.4 C++的控制语句 29

3.4.1 C++的输入和输出 29

3.4.2 选择语句 30

3.4.3 循环语句 34

3.4.4 其他语句 37

3.5 综合应用 38

3.6 小结 39

3.7 习题 40

第4章 C++的面向对象 41

4.1 类与对象 41

4.1.1 面向对象思想 41

4.1.2 类的声明 42

4.1.3 成员函数的定义 43

4.1.4 类与对象的关系 43

4.1.5 对象的声明和实例化 43

4.1.6 构造函数和析构函数 45

4.2 C++类的继承和派生 46

4.2.1 派生类的声明 47

4.2.2 派生类的继承方式 47

4.2.3 单一继承和多重继承 50

4.3 C++的多态性 51

4.3.1 多态的分类 51

4.3.2 运算符重载 51

4.3.3 虚函数 52

4.3.4 纯虚函数 53

4.4 综合应用 55

4.5 小结 56

4.6 习题 57

第5章 菜单栏、工具栏和状态栏 58

5.1 菜单的分类 58

5.2 使用下拉式菜单 59

5.2.1 创建下拉式菜单 59

5.2.2 添加菜单项 60

5.2.3 移动和删除菜单项 62

5.2.4 添加一个菜单命令处理函数 62

5.2.5 启用和禁用菜单项 63

5.2.6 标记菜单项 64

5.2.7 添加快捷键 64

5.3 使用弹出式菜单 65

5.4 工具栏的使用 67

5.4.1 为默认工具栏添加按钮 67

5.4.2 移动和删除工具栏按钮 68

5.4.3 添加按钮消息响应函数 68

5.4.4 为工具栏按钮添加提示文字 69

5.4.5 禁用或启用工具栏按钮 69

5.5 状态栏的使用 70

5.5.1 状态栏概述 70

5.5.2 修改默认的状态栏 70

5.6 小结 72

5.7 习题 72

第6章 窗口 73

6.1 消息窗口 73

6.2 窗口的创建与使用 74

6.2.1 窗口的分类 74

6.2.2 创建模态窗口 75

6.2.3 创建窗口类 77

6.2.4 向程序中添加代码 79

6.2.5 消息响应函数 80

6.3 非模态窗口 81

6.3.1 创建工程并添加窗口 81

6.3.2 添加窗口类 82

6.3.3 修改菜单栏并添加菜单消息

响应函数 82

6.3.4 添加代码 83

6.4 通用窗口 85

6.4.1 文件窗口 85

6.4.2 【颜色】窗口 87

6.4.3 【字体】窗口 87

6.4.4 查找和替换窗口 88

6.4.5 打印窗口 89

6.5 小结 90

6.6 习题 90

第7章 控件 91

7.1 Visual C++中的标准控件 91

7.1.1 控件概述 91

7.1.2 创建控件 91

7.2 按钮控件 93

7.2.1 单选按钮 94

7.2.2 复选框 95

7.3 静态控件 96

7.3.1 静态文本 96

7.3.2 图片 97

7.3.3 分组框 98

7.4 列表框控件与组合框控件 98

7.4.1 列表框 98

7.4.2 组合框 103

7.5 树形控件与列表视图控件 106

7.5.1 树形控件 107

7.5.2 列表视图控件 111

7.6 滑块控件与进度条控件 115

7.6.1 滑块控件 115

7.6.2 进度条控件 116

7.7 小结 118

7.8 习题 119

第8章 MFC常用类 120

8.1 字符串类 120

8.1.1 创建字符串对象 120

8.1.2 CString类的成员函数 121

8.1.3 字符串的大小写转换 121

8.1.4 字符串的连接 122

8.1.5 字符串的比较 123

8.1.6 字符串的提取 123

8.1.7 字符串的查找 124

8.1.8 字符串的移除 126

8.1.9 CString类的格式化 127

8.1.10 CString类的类型转换 127

8.2 日期、时间类 128

8.2.1 CTime类 128

8.2.2 CTimeSpan类 129

8.2.3 计时器 131

8.3 文件操作类 133

8.3.1 文件的打开和关闭 133

8.3.2 文件的读写 136

8.3.3 文件的定位 137

8.3.4 文件的状态 138

8.4 异常类 139

8.4.1 异常类简介 139

8.4.2 文件异常操作 139

8.4.3 捕获异常 140

8.5 小结 141

8.6 习题 142

第9章 多媒体技术 143

9.1 图像处理技术 143

9.1.1 BMP文件结构 143

9.1.2 在程序中显示BMP文件 145

9.1.3 在程序中显示JPEG和GIF文件 147

9.2 音频媒体 152

9.2.1 播放WAVE资源 152

9.2.2 播放WAVE文件 155

9.2.3 音量控制实现原理 155

9.2.4 音量调节器实例 157

9.3 视频媒体 162

9.3.1 播放AVI文件 163

9.3.2 播放Flash文件 166

9.4 小结 169

9.5 习题 170

第10章 DLL的开发与调用 171

10.1 DLL的基础知识 171

10.1.1 DLL与LIB 171

10.1.2 DLL与EXE 172

10.1.3 Visual C++ 6.0中可实现的

DLL 173

10.1.4 DLL的动态链接方法 174

10.1.5 DLL文件构成 175

10.2 Win32 DLL的开发与动态

链接 175

10.2.1 开发导出函数的Win32 DLL 175

10.2.2 从DLL中导出函数 177

10.2.3 运行时动态链接DLL 178

10.2.4 加载时动态链接DLL 180

10.2.5 调试DLL程序 182

10.2.6 使用Depends工具查看DLL的信息 184

10.2.7 创建导出类的Win32 DLL 185

10.2.8 链接DLL的导出类 187

10.3 MFC常规DLL的开发与链接 188

10.3.1 开发使用MFC类库的MFC常规DLL 188

10.3.2 DLL的入/出口函数 190

10.3.3 链接MFC常规DLL 191

10.4 MFC扩展DLL的开发与链接 193

10.4.1 开发扩展MFC类的MFC扩展DLL 193

10.4.2 链接MFC扩展DLL 197

10.5 小结 200

10.6 习题 200

第11章 文档和视图 201

11.1 文档/视图结构简介 201

11.1.1 文档/视图结构概述 201

11.1.2 文档/视图结构分类 202

11.2 文档/视图结构应用程序框架分析 203

11.2.1 创建单文档应用程序框架 203

11.2.2 单文档应用程序的执行过程 205

11.2.3 程序框架中的主要类及相互关系 206

11.2.4 多文档应用程序框架 207

11.3 切分窗口与多视 208

11.3.1 动态切分窗口 209

11.3.2 静态切分窗口 210

11.3.3 一档多视 212

11.4 在视图窗口中显示网页 213

11.5 小结 216

11.6 习题 216

第12章 数据库编程 217

12.1 数据库基础 217

12.2 安装SQL Server 2000 218

12.3 使用SQL Server 2000 220

12.4 结构化查询语言 222

12.4.1 SQL语言的分类 222

12.4.2 SQL语言的数据类型 223

12.4.3 SQL语句 223

12.5 数据库开发技术简介 226

12.5.1 ODBC技术 226

12.5.2 DAO技术 226

12.5.3 ADO技术 227

12.6 ODBC数据库编程 227

12.6.1 设置ODBC数据源 227

12.6.2 连接数据库 228

12.6.3 记录集的建立和关闭 230

12.6.4 添加、删除和修改记录 232

12.7 使用ADO操作数据库 233

12.7.1 ADO基础 234

12.7.2 ADO编程方法 234

12.8 使用ADO操作数据库实例 238

12.8.1 CDatabaseAccess类 238

12.8.2 示例 248

12.9 小结 252

12.10 习题 252

第13章 多线程编程 253

13.1 进程与线程 253

13.2 线程的分类 253

13.3 线程类 254

13.4 线程的使用 256

13.4.1 启用用户界面线程 256

13.4.2 启用工作者线程 256

13.4.3 用户界面线程 257

13.4.4 工作者线程 260

13.5 线程的终止 262

13.5.1 正常终止线程 263

13.5.2 异常终止线程 263

13.5.3 线程的退出码 263

13.6 线程的通信 264

13.6.1 通信原理 264

13.6.2 用户界面线程通信 266

13.7 线程的同步 269

13.7.1 同步访问对象 269

13.7.2 使用信号量实现线程同步 271

13.7.3 使用临界区对象实现线程同步 273

13.7.4 使用互斥量对象实现线程同步 276

13.7.5 使用事件对象实现线程同步 278

13.8 小结 281

13.9 习题 281

第14章 Winsock网络通信开发 282

14.1 网络通信与WinSock基础 282

14.1.1 WinSock的基本概念 282

14.1.2 TCP/IP协议与WinSock 282

14.1.3 WinSock通信与C/S结构 283

14.1.4 MFC中WinSock的封装类 284

14.1.5 WinSock网络编程的常用术语 285

14.2 无连接通信开发 286

14.2.1 Socket无连接通信机制 286

14.2.2 主要功能函数介绍 287

14.2.3 无连接通信接收端的实现 290

14.2.4 无连接通信发送端的实现 293

14.3 面向连接通信开发 295

14.3.1 Socket面向连接通信机制 295

14.3.2 主要功能函数 297

14.3.3 面向连接通信服务器端的实现 298

14.3.4 面向连接通信客户端的实现 300

14.4 Socket非阻塞模式及开发 302

14.4.1 CSocket阻塞模式 303

14.4.2 CSocket非阻塞模式——事件处理 303

14.4.3 非阻塞模式服务器端的实现 305

14.4.4 非阻塞模式客户端的实现 308

14.5 小结 312

14.6 习题 313

第二篇 实例篇

第15章 人事管理系统 316

15.1 应用背景 316

15.2 系统设计 316

15.2.1 模块设计 316

15.2.2 程序分析 317

15.3 数据库设计 317

15.3.1 设计表 318

15.3.2 设计触发器 322

15.4 代码实现 325

15.4.1 准备工作 325

15.4.2 登录模块 326

15.4.3 文档模块 331

15.4.4 左窗口类 334

15.4.5 右窗口类 340

15.4.6 人员档案管理模块 341

15.4.7 其他模块 347

15.4.8 最后的修改 349

15.5 小结 349

第16章 图书信息管理系统 350

16.1 应用背景 350

16.2 系统设计 350

16.2.1 模块设计 350

16.2.2 程序分析 351

16.3 数据库设计 352

16.3.1 设计表 352

16.3.2 设计触发器 353

16.4 代码实现 353

16.4.1 准备工作 353

16.4.2 登录模块 354

16.4.3 文档模块 359

16.4.4 用户管理模块 360

16.4.5 图书信息管理 369

16.4.6 图书借阅管理 378

16.4.7 最后的修改 384

16.5 小结 385

第17章 笔试宝典 386

17.1 算法的编程实现 386

17.1.1 请设计并编程实现第K大的素数问题 386

17.1.2 请设计并编程实现一个斐波拉契数列 387

17.1.3 请设计并编程实现螺旋矩阵算法 388

17.2 逻辑推理 389

17.2.1 诚实国和说谎国 389

17.2.2 黑球和白球 390

17.2.3 种树 390

17.3 计算推理 390

17.3.1 称水 390

17.3.2 蜗牛爬井口 390

17.3.3 下一个数是多少 391

17.4 小结 391

附录A 常见C++函数参考 392

附录B 调试技术 399