《Visual C++从入门到精通 项目案例版》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:明日学院著
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2018
  • ISBN:7517057789
  • 页数:722 页
图书介绍:

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

1.1 Visual C++6.0简介 1

1.1.1 Visual C++6.0概述 1

1.1.2 Visual C++6.0的主要特点 1

1.2 集成开发环境简介 2

1.2.1 主窗口布局 2

1.2.2 ClassView(类视图)选项卡 3

1.2.3 ResourceView(资源视图)选项卡 7

1.2.4 FileView(文件视图)选项卡 9

1.2.5 菜单栏和工具栏 9

1.2.6 调试与输出窗口 16

1.2.7 代码编辑区 17

1.2.8 类向导 17

1.3 程序调试 18

1.3.1 创建调试程序 18

1.3.2 进入调试状态 19

1.3.3 Watch窗口 20

1.3.4 Call Stack窗口 20

1.3.5 Memory窗口 21

1.3.6 Variables窗口 21

1.3.7 Registers窗口 21

1.3.8 Disassembly窗口 21

第2章 C++语言基础 23

2.1 C++程序的组成 23

2.2 程序设计规范 25

2.2.1 注释 25

2.2.2 命名 27

2.2.3 空白 29

2.2.4 缩进 29

2.3 程序设计基础 30

2.3.1 关键字 30

2.3.2 标识符 33

2.3.3 常量 33

2.3.4 变量 34

2.3.5 宏定义 38

2.4 基本数据类型 39

2.4.1 简单类型 39

2.4.2 字符串类型 40

2.4.3 枚举类型 42

2.5 运算符 44

2.5.1 赋值运算符 44

2.5.2 算术运算符 45

2.5.3 关系运算符和逻辑运算符 46

2.5.4 自增自减运算符 48

2.5.5 位运算符 49

2.5.6 sizeof运算符 52

2.5.7 new和delete运算符 54

2.5.8 优先级 55

第3章 C++语句控制 57

3.1 语句 57

3.1.1 简单语句 57

3.1.2 复合语句 58

3.2 顺序结构 60

3.3 选择结构 60

3.3.1 if条件语句 61

3.3.2 switch分支语句 65

3.4 循环结构 69

3.4.1 goto语句 69

3.4.2 while语句 70

3.4.3 do…while语句 71

3.4.4 for语句 73

3.5 异常处理语句 74

3.5.1 异常捕捉 74

3.5.2 抛出异常 75

3.6 其他控制语句 76

3.6.1 break语句——强制结束 76

3.6.2 continue语句——继续 77

3.6.3 exit语句——退出 78

第4章 高级数据类型 80

4.1 结构体类型 80

4.1.1 结构体类型的定义 81

4.1.2 结构体类型变量的初始化 82

4.1.3 结构体类型变量的引用 83

4.1.4 结构体数组的定义 83

4.1.5 结构体数组的初始化 84

4.1.6 结构体数组的引用 85

4.1.7 结构体类型变量的指针 85

4.2 共用体类型 87

4.3 文件类型 89

4.4 指针类型 93

4.5 引用类型 102

4.6 数组 103

4.6.1 一维数组 103

4.6.2 二维数组及多维数组 105

4.6.3 指向数组的指针 109

4.6.4 指针数组 111

4.6.5 数组的操作 112

4.6.6 数组应用 117

第5章 函数 122

5.1 函数的声明和定义 122

5.2 参数的默认值 124

5.3 形参表可变的函数 125

5.4 内联函数 126

5.5 参数传递方式 127

5.6 利用数组作为函数参数 130

5.7 函数的递归调用 131

5.8 函数重载 132

5.9 函数模板 133

5.10 函数指针 135

第6章 面向对象程序设计 136

6.1 类 136

6.1.1 类的概念 136

6.1.2 类的声明 136

6.2 对象 137

6.2.1 对象的声明与实例化 137

6.2.2 类与对象的关系 137

6.2.3 类成员的访问 137

6.2.4 类成员的保护 138

6.2.5 实现类的方法 139

6.3 构造函数与析构函数 141

6.3.1 默认构造函数 141

6.3.2 重载构造函数 144

6.3.3 复制构造函数 147

6.3.4 析构函数 148

6.4 继承 150

6.4.1 单一继承 150

6.4.2 多重继承 152

6.4.3 覆盖成员函数 153

6.4.4 虚函数 155

6.4.5 纯虚函数 160

6.5 类方法 162

6.5.1 内联方法 162

6.5.2 静态成员数据和静态方法 163

6.5.3 友元类和友元函数 167

6.5.4 const方法 171

6.5.5 运算符重载 173

6.6 类模板 178

6.6.1 模板的声明和实例化 178

6.6.2 模板的实现 183

6.6.3 模板应用 185

第7章 用户界面设计 188

7.1 控件的操作 188

7.1.1 放置和选定控件 188

7.1.2 控件的缩放与移动 189

7.1.3 控件的复制与删除 189

7.1.4 控件的对齐 189

7.2 常用MFC控件 190

7.2.1 静态控件CStatic 190

7.2.2 编辑框控件CEdit 196

7.2.3 按钮控件CButton 201

7.2.4 列表框控件CListBox 204

7.2.5 组合框控件CComboBox 209

7.3 对话框设计 212

7.3.1 对话框简介 212

7.3.2 模式对话框与非模式对话框 212

7.3.3 对话框资源设计 213

7.3.4 对话框常用方法 214

7.3.5 向对话框类中添加成员函数 223

7.3.6 向对话框中添加控件消息处理函数 225

第8章 MFC高级控件 227

8.1 菜单 227

8.1.1 菜单资源的设计 227

8.1.2 菜单的命令处理 229

8.1.3 菜单的主要方法 229

8.1.4 动态创建菜单 233

8.1.5 具有图标的菜单 235

8.2 工具栏 241

8.2.1 工具栏设计 241

8.2.2 工具栏按钮的命令处理 242

8.2.3 工具栏的主要方法 243

8.2.4 动态创建工具栏 246

8.2.5 具有图像按钮的工具栏 247

8.2.6 具有提示功能的工具栏 248

8.3 状态栏 250

8.3.1 状态栏的主要方法 250

8.3.2 动态创建状态栏 253

8.3.3 在状态栏中显示进度条 254

8.4 标签控件CTabCtrl 255

8.4.1 标签控件的主要属性 255

8.4.2 标签控件的主要方法 256

8.4.3 标签控件的使用 258

8.5 图像列表控件CImageList 260

8.5.1 图像列表控件的主要方法 260

8.5.2 图像列表控件的使用 264

8.6 列表视图控件CListCtrl 264

8.6.1 列表视图控件的主要属性 265

8.6.2 列表视图控件的主要方法 265

8.6.3 列表视图控件的使用 271

8.7 树视图控件CTreeCtrl 274

8.7.1 树视图控件的主要属性 274

8.7.2 树视图控件的主要方法 274

8.7.3 树视图控件的使用 280

8.8 ActiveX控件 282

8.8.1 利用CAdodc控件操作数据库 282

8.8.2 利用DataGrid控件显示数据集数据 284

8.8.3 利用CBarCodeCtrl控件打印条形码 287

8.8.4 利用CWebBrowser2控件浏览网页 288

第9章 文档与视图 292

9.1 构建文档/视图应用程序 292

9.1.1 构建单文档/视图应用程序 292

9.1.2 构建多文档/视图应用程序 295

9.2 绘制视图背景 295

9.3 文档/视图结构的消息处理 296

9.4 视图分割 297

9.4.1 简单视图分割 297

9.4.2 划分任意子窗口 299

9.5 视图窗口高级应用 300

9.5.1 隐藏视图创建选择窗口 300

9.5.2 动态创建视图窗口 301

9.5.3 在视图窗口中显示网页 303

第10章 图形、图像处理 307

10.1 GDI设备与对象 307

10.1.1 画笔CPen 307

10.1.2 画刷CBrush 311

10.1.3 位图CBitmap 314

10.1.4 区域CRgn 317

10.1.5 字体CFont 322

10.1.6 设备上下文CDC 325

10.1.7 调色板CPalette 333

10.2 常用图像存储格式 335

10.2.1 位图 335

10.2.2 图标 337

10.2.3 GIF图像 338

10.3 文本输出 341

10.3.1 在指定位置输出文本 341

10.3.2 在指定区域输出文本 342

10.3.3 利用制表位输出文本 344

10.3.4 设置字体、颜色及对齐方式 345

10.3.5 设置文本背景透明 348

10.4 绘制图形图像 349

10.4.1 利用线条绘制表格 349

10.4.2 绘制多边形 350

10.4.3 填充区域 352

10.4.4 填充选区 352

10.4.5 线条的渐变 353

10.4.6 区域的渐变 354

10.4.7 绘制位图 355

10.5 图像显示 358

10.5.1 在设备上下文中绘制图像 358

10.5.2 从磁盘中加载图像到窗口中 360

10.5.3 根据位图数据直接绘图 361

10.5.4 显示JPEG图像 363

第11章 打印技术 365

11.1 基本概念 365

11.1.1 打印机简介 365

11.1.2 分辨率 366

11.1.3 设备环境 367

11.1.4 映射模式 370

11.2 基于文档、视图结构的打印 371

11.2.1 按比例打印数据 371

11.2.2 打印图像 374

11.2.3 自定义打印预览 378

11.3 基于对话框结构的打印 379

11.3.1 获取打印机DC 381

11.3.2 打印预览 382

11.3.3 分页打印 384

11.4 打印控制 384

11.4.1 自定义打印纸大小 384

11.4.2 控制打印方向 385

11.4.3 设置打印份数 386

第12章 文件操作 387

12.1 CFile类文件操作 387

12.1.1 CFile类简介 387

12.1.2 获取文件属性 391

12.1.3 十六进制显示文本文件 394

12.1.4 使用CFile实现文件的复制 395

12.1.5 CFile类与CStdioFile类的比较 397

12.2 共享文件类CShareFile 399

12.3 数据流类CMonikerFile 399

12.4 文件流类CStdioFile 401

12.5 文件查找类CFileFind 402

12.5.1 文件查找类简介 402

12.5.2 查找指定文件 404

12.5.3 显示磁盘目录 406

12.6 MFC串行化 409

12.6.1 CArchive类简介 409

12.6.2 Serialize分析 411

12.6.3 创建串行化类 411

12.6.4 实现对象的串行化 412

12.7 INI文件 414

12.7.1 INI文件的设计结构和数据类型 414

12.7.2 读取和写入INI文件 415

第13章 ADO编程基础 421

13.1 ADO概述 421

13.2 ADO对象 421

13.2.1 连接对象Connection 421

13.2.2 命令对象Command 423

13.2.3 记录集对象Recordset 424

13.2.4 参数对象Parameter 425

13.3 利用ADO连接数据库 426

13.3.1 连接Access数据库 426

13.3.2 连接SQLServer数据库 430

13.3.3 连接Oracle数据库 430

13.4 利用ADO操作数据库 433

13.4.1 获取记录集数据 434

13.4.2 遍历记录集 436

13.4.3 向记录集中添加数据 438

13.4.4 修改记录集数据 442

13.4.5 删除记录集数据 443

第14章 动态链接库 446

14.1 动态链接库基础 446

14.1.1 动态链接库的特点 446

14.1.2 动态链接库的访问 447

14.1.3 查看动态链接库 447

14.2 创建动态链接库 448

14.2.1 创建MFC动态链接库 448

14.2.2 创建Win32静态链接库 451

14.2.3 创建Win32动态链接库 453

14.3 动态链接库中的资源 455

14.3.1 资源的名称和类型 455

14.3.2 资源模块 456

14.3.3 在模块中查找和加载资源 459

第15章 局域网监控系统(Visual C++6.0+Microsoft Access 2003实现) 461

15.1 开发背景 461

15.2 需求分析 461

15.3 系统设计 461

15.3.1 系统目标 461

15.3.2 系统功能结构 462

15.3.3 系统预览 462

15.3.4 业务流程图 463

15.3.5 程序运行环境 463

15.3.6 数据库设计 463

15.4 客户端设计 466

15.4.1 客户端模块概述 466

15.4.2 客户端技术分析 466

15.4.3 客户端实现过程 468

15.5 公共类设计 473

15.6 系统登录模块设计 474

15.6.1 系统登录模块概述 474

15.6.2 系统登录模块技术分析 474

15.6.3 系统登录模块实现过程 475

15.6.4 单元测试 478

15.7 主窗体设计 479

15.7.1 主窗体概述 479

15.7.2 主窗体技术分析 480

15.7.3 主窗体实现过程 482

15.8 操作员管理模块设计 487

15.8.1 操作员管理模块概述 487

15.8.2 操作员管理模块技术分析 487

15.8.3 操作员管理模块实现过程 489

15.8.4 单元测试 495

15.9 系统设置模块设计 496

15.9.1 系统设置模块概述 496

15.9.2 系统设置模块技术分析 496

15.9.3 系统设置模块实现过程 497

15.10 开发技巧与难点分析 499

15.10.1 及时关闭记录集 499

15.10.2 屏幕位图数据的发送 499

15.10.3 访问带密码的Access数据库 499

15.11 自定义控件 500

15.11.1 自定义按钮控件 500

15.11.2 自定义列表控件 502

15.12 本章总结 504

第16章 学生考试系统(Visual C++6.0+Microsoft Access 2003实现) 505

16.1 开发背景 505

16.2 需求分析 505

16.3 系统设计 506

16.3.1 系统目标 506

16.3.2 系统功能结构 506

16.3.3 系统预览 506

16.3.4 业务流程图 507

16.3.5 数据库设计 508

16.4 公共模块设计 511

16.5 主窗体设计 513

16.6 注册模块设计 523

16.6.1 注册模块概述 523

16.6.2 注册模块技术分析 524

16.6.3 注册模块实现过程 525

16.7 登录模块设计 530

16.7.1 登录模块概述 530

16.7.2 登录模块技术分析 530

16.7.3 登录模块实现过程 531

16.8 密码找回模块设计 533

16.8.1 密码找回模块概述 533

16.8.2 密码找回模块技术分析 534

16.8.3 密码找回模块实现过程 534

16.8.4 单元测试 536

16.9 试题管理模块设计 537

16.9.1 试题管理模块概述 537

16.9.2 试题管理模块技术分析 537

16.9.3 试题管理模块实现过程 538

16.9.4 单元测试 545

16.10 数据库维护模块设计 546

16.10.1 数据库维护模块概述 546

16.10.2 数据库维护模块技术分析 546

16.10.3 数据库维护模块实现过程 547

16.11 使用PowerDesigner进行数据库建模 549

16.12 开发技巧与难点分析 552

16.13 本章总结 553

第17章 图像处理系统(Visual C++6.0+GDI+技术实现) 554

17.1 开发背景 554

17.2 需求分析 554

17.3 系统设计 555

17.3.1 系统目标 555

17.3.2 系统功能结构 555

17.3.3 系统预览 556

17.3.4 业务流程图 557

17.4 公共模块设计 557

17.5 主窗体设计 560

17.6 图像旋转模块设计 565

17.6.1 图像旋转模块概述 565

17.6.2 图像旋转模块技术分析 565

17.6.3 图像旋转模块实现过程 566

17.7 图像缩放模块设计 574

17.7.1 图像缩放模块概述 574

17.7.2 图像缩放模块技术分析 574

17.7.3 图像缩放模块实现过程 575

17.7.4 单元测试 580

17.8 图像水印处理模块设计 580

17.8.1 图像水印处理模块概述 580

17.8.2 图像水印处理模块技术分析 581

17.8.3 图像水印处理模块实现过程 581

17.9 PSD文件浏览模块设计 584

17.9.1 PSD文件浏览模块概述 584

17.9.2 PSD文件浏览模块技术分析 584

17.9.3 PSD文件浏览模块实现过程 586

17.10 照片版式处理模块设计 590

17.10.1 照片版式处理模块概述 590

17.10.2 照片版式处理模块技术分析 590

17.10.3 照片版式处理模块实现过程 593

17.11 开发技巧与难点分析 599

17.11.1 位图数据的存储形式 599

17.11.2 在Visual C++中使用GDI+ 602

17.12 本章总结 602

第18章 桌面破坏王游戏 603

18.1 开发背景 603

18.2 系统设计 603

18.2.1 系统功能结构 603

18.2.2 业务流程图 604

18.3 游戏主框架设计及实现 605

18.3.1 开发环境要求 605

18.3.2 使用Visual Studio 2015建立项目 605

18.3.3 使程序窗口遮挡整个桌面 608

18.4 重要工具模块设计 611

18.4.1 资源自动释放模块设计 611

18.4.2 屏幕截图工具设计 613

18.4.3 游戏计时器设计 620

18.5 绘图库的使用 623

18.5.1 引入绘图库GDIPlus头文件 623

18.5.2 初始化绘图库 623

18.5.3 绘制屏幕一角 624

18.6 处理鼠标消息 625

18.6.1 鼠标消息分析 625

18.6.2 增加消息处理函数 626

18.6.3 测试鼠标消息 628

18.7 游戏功能的总体设计 629

18.7.1 游戏功能预览 629

18.7.2 功能分析 630

18.7.3 游戏调度器CGame类设计 631

18.7.4 引入图片资源 643

18.7.5 实现工具及破坏标记接口 644

18.8 游戏菜单的设计与实现 648

18.8.1 盒子的实现 649

18.8.2 “飞出”的工具 656

18.8.3 显示游戏菜单 663

18.9 “忍者”工具的设计与实现 665

18.9.1 “忍者”破坏标记设计与实现 665

18.9.2 “忍者”设计与实现 667

18.9.3 使用“忍者”破坏桌面 680

18.10 “粉刷匠”工具的设计与实现 682

18.10.1 “粉刷匠”粉刷痕迹设计与实现 682

18.10.2 “粉刷匠”设计与实现 685

18.10.3 使用“粉刷匠”破坏桌面 691

18.11 本章总结 692

第19章 植物大战僵尸修改器 694

19.1 开发背景 694

19.2 系统设计 694

19.2.1 系统功能结构 694

19.2.2 业务流程图 695

19.3 系统开发环境要求 696

19.4 修改器原理 696

19.4.1 跨进程内存操作 696

19.4.2 DLL注入技术 697

19.4.3 进程内的内存操作 697

19.4.4 内联汇编及代码调用 697

19.5 项目目录结构预览 698

19.6 修改器界面开发 699

19.6.1 建立项目 699

19.6.2 去除多余控件 700

19.6.3 完成修改器主界面 701

19.6.4 添加进程浏览对话框 702

19.7 修改任何版本游戏的阳光数量(内存搜索功能) 702

19.7.1 列出所有进程 702

19.7.2 打开游戏进程 704

19.7.3 搜索阳光数量位置 704

19.7.4 修改阳光数量 707

19.7.5 使用方法 707

19.8 注入游戏中的动态链接库(DLL) 710

19.8.1 DLL原理概述 710

19.8.2 创建DLL项目 710

19.8.3 修改器界面简介 711

19.8.4 注入DLL到游戏进程 712

19.9 修改器核心功能实现 713

19.9.1 HOME键呼出修改器窗口 713

19.9.2 任意修改阳光和金钱 714

19.10 本章总结 716

开发资源库使用说明 717