《Visual C++开发实战宝典》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:宋坤等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302209058
  • 页数:769 页
图书介绍:本书从初学者的角度讲述了使用Visual C++进行程序开发应该掌握的各项技术,同时就像书名所暗示的一样,强调“实战”结果。在本书的各个章节介绍技术的同时,都会给出相应的实例,并在章末安排了综合应用,通过几个小型的项目来巩固本章知识点,做到理论联系实际。

第1部分 基础知识 3

第1章Visual C++ 6.0开发环境 3

1.1 Visual C++ 6.0概述 4

1.2熟悉Visual C++ 6.0开发环境 4

1.2.1菜单介绍 5

1.2.2工具栏介绍 13

1.2.3工作区介绍 14

1.2.4代码编辑窗口介绍 16

1.2.5控件面板介绍 17

1.2.6 Output(输出)窗口介绍 18

1.3定制Visual C++ 6.0开发环境 19

1.3.1设计自己的工具栏窗口 19

1.3.2调整代码文本颜色 20

1.3.3批量注释 21

1.4使用MSDN帮助工具 24

1.5创建工程 25

1.5.1创建一个简单的工程 26

1.5.2设计程序界面 28

1.5.3为控件关联成员变量 29

1.5.4编写程序代码 30

1.5.5编译并运行工程 30

1.5.6发布应用程序 30

1.6小结 31

第2章 程序设计基础 33

2.1程序设计基本要素 34

2.1.1标识符 34

2.1.2关键字 34

2.1.3常量 35

2.1.4变量 36

2.1.5寄存器变量 37

2.1.6静态变量 37

2.1.7外部变量 38

2.1.8自动变量 39

2.1.9注释 39

2.2数据类型 41

2.2.1简单数据类型 41

2.2.2布尔类型 43

2.2.3数组类型 43

2.2.4枚举类型 45

2.2.5结构体类型 47

2.2.6共用体类型 51

2.2.7指针类型 51

2.2.8引用类型 57

2.2.9类型别名 58

2.3类型转换 59

2.3.1数值类型转换 59

2.3.2静态转换 60

2.3.3动态转换 61

2.3.4常量转换 61

2.3.5重解释转换 63

2.3.6数值类型与字符串之间的转换 63

2.4运算符 65

2.4.1赋值运算符 65

2.4.2算术运算符 66

2.4.3关系运算符和逻辑运算符 68

2.4.4递增递减运算符 70

2.4.5位运算符 71

2.4.6 sizeof运算符 75

2.4.7 new和delete运算符 77

2.4.8优先级 78

2.5表达式 79

2.5.1逗号表达式 79

2.5.2条件表达式 80

2.6实战 80

2.6.1字符串加密与解密 81

2.6.2反转输出字符串 83

2.6.3输出系统日期和时间 84

2.7小结 86

2.8 实战练习 86

第3章 流程控制 87

3.1简单语句 88

3.2复合语句 88

3.3分支语句 90

3.3.1 if条件语句 90

3.3.2 switch分支语句 94

3.4循环语句 99

3.4.1 for循环语句 99

3.4.2 while循环语句 103

3.4.3 do while循环语句 105

3.5跳转语句 106

3.5.1 goto语句 106

3.5.2 return语句 108

3.5.3 exit语句 109

3.6实战 110

3.6.1对数组元素排序 110

3.6.2统计学生成绩的最高分、最低分和平均值 111

3.6.3解析字符串 113

3.7小结 114

3.8实战练习 114

第4章 函数 115

4.1函数的定义 116

4.1.1函数的声明和定义 116

4.1.2函数的调用 119

4.2函数参数 119

4.2.1默认值参数 119

4.2.2 const参数 120

4.2.3指针/引用参数 121

4.2.4数组参数 123

4.2.5内联函数 127

4.3重载函数 127

4.3.1定义重载函数 127

4.3.2隐藏重载函数 130

4.4函数递归调用 131

4.5函数指针 133

4.6函数模板 135

4.6.1函数模板应用 135

4.6.2重载函数模板 136

4.7作用域和生命期 137

4.7.1局部作用域 137

4.7.2全局作用域 139

4.7.3命名空间 140

4.8实战 145

4.8.1遍历磁盘目录 145

4.8.2数值排序 147

4.9小结 148

4.10实战练习 148

第5章 类和对象 149

5.1面向对象程序设计 150

5.1.1面向对象技术产生的背景 150

5.1.2面向对象的主要特征 151

5.2类的定义 151

5.3类的实例化——对象 153

5.4构造函数和析构函数 156

5.4.1构造函数 157

5.4.2复制构造函数 159

5.4.3析构函数 161

5.5特殊的类成员 163

5.5.1常量成员 163

5.5.2静态成员 164

5.5.3隐藏的this指针 166

5.6特殊的成员函数 168

5.6.1内联成员函数 168

5.6.2静态成员函数 170

5.6.3重载成员函数 172

5.7类成员指针 174

5.7.1类成员函数指针 174

5.7.2类数据成员指针 175

5.8继承 176

5.8.1单继承 177

5.8.2虚函数与动态绑定 180

5.8.3抽象类 183

5.8.4类型转换 185

5.8.5多继承 187

5.8.6虚继承 189

5.9运算符重载 192

5.9.1构造函数自动转换与禁止 192

5.9.2运算符重载 193

5.10友元函数和友元类 196

5.11类域 200

5.12嵌套类 203

5.13局部类 205

5.14类模板 206

5.14.1应用类模板 206

5.14.2类模板中的静态数据成员 212

5.15异常处理 213

5.15.1异常捕捉 214

5.15.2抛出异常 215

5.16实战 217

5.16.1递归遍历二叉树 218

5.16.2循环遍历二叉树 221

5.17小结 227

5.18实战练习 227

第2部分 技术应用 231

第6章 对话框程序设计 231

6.1创建对话框应用程序 232

6.2创建对话框 233

6.2.1设计对话框资源 233

6.2.2创建并显示对话框 237

6.3设置对话框属性 242

6.3.1使用属性窗口设置对话框属性 242

6.3.2使用代码设置对话框属性 247

6.4对话框布局 249

6.4.1向对话框中添加控件 249

6.4.2调整控件的Tab键顺序 250

6.4.3调整控件至相同的大小 251

6.4.4在对话框中对齐控件 252

6.4.5排列控件 254

6.4.6使用网格线进行界面布局 257

6.4.7测试对话框布局效果 259

6.5访问对话框中的控件 259

6.5.1使用类向导为控件关联变量 259

6.5.2利用控件ID获取控件窗口指针 263

6.5.3利用数据交换访问控件文本数据 264

6.6设置对话框和应用程序图标 266

6.7添加对话框成员和成员函数 268

6.7.1添加成员和成员函数 268

6.7.2添加消息处理函数 270

6.7.3手动添加命令消息处理函数 272

6.8使用消息对话框 273

6.9 Windows通用对话框 275

6.9.1文件对话框 275

6.9.2查找/替换对话框 276

6.9.3“字体”对话框 277

6.9.4“颜色”对话框 278

6.9.5“打印”对话框 278

6.10实战 279

6.10.1获取系统磁盘信息 279

6.10.2简单局域网通信程序 282

6.11小结 286

6.12实战练习 286

第7章MFC通用控件 287

7.1编辑框控件EditBox 288

7.1.1获取/设置编辑框文本 288

7.1.2设置字体和文本颜色 288

7.1.3设置密码框 289

7.1.4设置只读编辑框 290

7.1.5编辑框多行显示文本 290

7.2静态文本控件StaticText 291

7.2.1设置控件文本 291

7.2.2响应鼠标单击事件 292

7.3按钮控件Button 293

7.3.1设置按钮单击事件 293

7.3.2设置图标按钮 294

7.4复选框控件CheckBox 295

7.4.1设置和取消复选框选中状态 296

7.4.2使用复选框统计个人爱好 297

7.5单选按钮控件RadioButton 298

7.5.1为单选按钮设置分组 298

7.5.2利用单选按钮确定用户的选择 299

7.6组合框控件ComboBox 300

7.6.1设置组合框风格 301

7.6.2调整组合框列表部分大小 301

7.6.3向组合框中插入数据 302

7.6.4获取用户选择的数据 303

7.6.5设置组合框默认显示的数据 303

7.7列表框控件ListBox 303

7.7.1向列表框中插入文本 304

7.7.2为列表框中的项目添加复选功能 305

7.7.3同时选择多个项目 306

7.8图像控件Picture 307

7.8.1使用属性窗口显示位图 307

7.8.2动态加载位图 308

7.9实战 309

7.9.1利用图像控件实现公交线路模拟 309

7.9.2设计媒体播放器 312

7.10小结 314

7.11实战练习 314

第8章MFC高级控件 315

8.1图像列表控件ImageList 316

8.1.1创建图像列表 316

8.1.2使用图像列表绘图 317

8.2列表视图控件ListControl 319

8.2.1设置列表视图控件风格 319

8.2.2使用列表视图设计登录界面 320

8.2.3设置列表视图背景位图 321

8.2.4使用列表视图显示表格数据 324

8.3树视图控件TreeControl 325

8.3.1设置树视图控件属性 325

8.3.2使用树视图控件显示区域信息 326

8.3.3修改树视图控件文本颜色 328

8.3.4设置复选功能的树视图控件 329

8.4进度条控件Progress 333

8.4.1设置进度条样式 333

8.4.2使用进度条显示操作进度 334

8.5滑块控件Slider 335

8.5.1滑块控件属性设置 335

8.5.2使用滑块控件设置颜色 336

8.6标签控件TabControl 339

8.6.1标签控件属性设置 339

8.6.2使用标签控件设计多页面窗口 341

8.6.3显示图标的标签控件 343

8.7实战 344

8.7.1删除学生信息 344

8.7.2对位图文件进行批量编号命名 348

8.8小结 351

8.9实战练习 351

第9章 菜单、工具栏和状态栏设计 353

9.1菜单设计 354

9.1.1设计菜单资源 354

9.1.2菜单项命令处理 357

9.1.3动态创建菜单 358

9.1.4禁用/启用菜单项 361

9.1.5设计弹出式菜单 363

9.1.6设计位图菜单 365

9.2工具栏设计 368

9.2.1工具栏资源设计 368

9.2.2工具栏按钮命令处理 371

9.2.3动态创建工具栏 372

9.2.4为工具栏设置工具提示功能 376

9.3状态栏设计 377

9.3.1创建状态栏 377

9.3.2在状态栏中显示进度条 380

9.4实战 382

9.4.1设计学生管理系统主界面 382

9.4.2设计任务栏托盘菜单 385

9.5小结 387

9.6实战练习 387

第10章 文本、图形图像处理技术 389

10.1图形设备接口 390

10.1.1设备上下文DC 390

10.1.2 GDI对象 391

10.2对话框窗口区域 392

10.3文本输出 394

10.3.1在指定区域中输出文本 394

10.3.2输出指定字体和颜色文本 396

10.3.3在通道中输出文本 398

10.3.4在图像背景上输出透明文本 399

10.4绘制图形 401

10.4.1绘制五子棋表格 401

10.4.2绘制多边形 403

10.4.3绘制控件外观 404

10.4.4填充区域 405

10.5图像输出 407

10.5.1在窗口中输出位图资源 407

10.5.2显示磁盘中的位图文件 410

10.5.3在窗口非客户区域输出位图 412

10.5.4位图文件结构分析 414

10.5.5使用位图数据直接绘图 416

10.5.6显示JPEG格式图像 419

10.6 GDI+图像处理技术 422

10.6.1在程序中使用GDI+ 422

10.6.2使用GDI+显示GIF动画 423

10.6.3使用GDI+实现图像水印效果 426

10.7实战 428

10.7.1设计具有图片滚动功能的浏览器 428

10.7.2设计字形窗体的程序启动界面 433

10.8小结 435

10.9实战练习 435

第11章 程序调试 437

11.1断点跟踪 438

11.1.1设计简单断点 438

11.1.2设置数据断点 439

11.1.3条件断点 439

11.1.4设置消息断点 440

11.2调试窗口 441

11.2.1 Watch窗口 441

11.2.2 Call Stack窗口 443

11.2.3 Memory窗口 443

11.2.4 Variables窗口 444

11.2.5 Registers窗口 445

11.2.6 Disassembly窗口 446

11.3宏调试技术 447

11.3.1应用TRACE宏输出信息 448

11.3.2应用ASSERT宏诊断条件是否成立 448

11.4内存泄露检查 449

11.5小结 450

第12章 打印技术 451

12.1打印基础知识 452

12.1.1打印机介绍 452

12.1.2分辨率 452

12.1.3映射模式 452

12.2打印输出 454

12.2.1获取打印机设备上下文 454

12.2.2打印文本信息 455

12.2.3打印图像 457

12.3打印控制 459

12.3.1控制打印方向 461

12.3.2设置打印纸大小 463

12.4实战 464

12.4.1实现工作证打印 464

12.4.2打印对话框及其控件中的数据 467

12.5小结 469

12.6实战练习 469

第13章 文件操作 471

13.1使用C函数进行文件操作 472

13.1.1读取文件信息 472

13.1.2写入文件信息 474

13.1.3定位文件 475

13.2使用CFile类进行文件操作 477

13.2.1读取文件信息 477

13.2.2写入文件信息 479

13.2.3定位文件 481

13.2.4文件异常处理 483

13.3文件管理 485

13.3.1获取文件属性信息 486

13.3.2查找文件 487

13.3.3复制文件 490

13.3.4删除文件 492

13.4 INI文件操作 494

13.4.1 INI文件结构解析 494

13.4.2读写INI文件 494

13.5注册表操作 497

13.5.1使用函数直接读写注册表 498

13.5.2使用CRegKey类读写注册表 502

13.6实战 505

13.6.1复制文件过程中显示进度条 505

13.6.2设置开机自动运行 507

13.7小结 510

13.8实战练习 510

第14章ADO数据库编程 511

14.1数据库概述 512

14.1.1数据库发展历史 512

14.1.2关系型数据库 513

14.2 ADO技术 513

14.2.1 ADO概述 514

14.2.2在工程中使用ADO技术 514

14.3 ADO对象 514

14.3.1 ADO连接对象Connection 514

14.3.2 ADO记录集对象Recordset 517

14.3.3 ADO命令对象Command 520

14.4实战 522

14.4.1使用ActiveX控件连接数据库 522

14.4.2使用ADO对象向数据库添加数据 524

14.4.3使用SQL语句修改和删除数据库中的数据 527

14.5小结 529

14.6实战练习 529

第15章 多线程应用程序设计 531

15.1线程概述 532

15.1.1线程的定义 532

15.1.2线程与进程的关系 532

15.2线程的创建 533

15.2.1使用CreateThread函数创建线程 533

15.2.2使用_beginthread函数创建线程 535

15.2.3使用AfxBeginThread函数创建线程 536

15.3线程的调度 539

15.3.1挂起线程 539

15.3.2唤醒线程 540

15.3.3终止线程 541

15.4线程同步 542

15.4.1线程同步的必要性 543

15.4.2使用事件对象实现线程同步 544

15.4.3使用互斥对象实现线程同步 546

15.4.4使用信标对象实现线程同步 548

15.4.5使用关键代码段实现线程同步 550

15.5线程池 552

15.5.1异步调用函数 553

15.5.2依据指定的时间间隔调用函数 555

15.6实战 557

15.6.1使用多线程实现临时文件清理 558

15.6.2使用多线程实现任务列表管理 566

15.7小结 572

15.8实战练习 572

第16章 动态链接库 573

16.1动态链接库基础 574

16.1.1动态链接库的特点 574

16.1.2查看动态链接库 574

16.2创建和访问动态链接库 575

16.2.1创建通用的动态链接库 575

16.2.2访问动态链接库 577

16.2.3向动态链接库中添加类和资源 578

16.2.4访问动态链接库中的类和资源 580

16.3移花接木——函数转发器 581

16.4实战 582

16.4.1使用动态链接库设计支持多国语言的应用程序 582

16.4.2利用动态链接库实现界面换肤 586

16.5小结 588

16.6实战练习 588

第17章 网络编程 589

17.1计算机网络基础 590

17.1.1计算机网络发展历史 590

17.1.2 OSI参考模型 590

17.1.3 IP地址 591

17.1.4域名 591

17.1.5地址解析 592

17.1.6 TCP/IP协议 593

17.1.7端口 594

17.2套接字编程基础 595

17.2.1套接字概述 595

17.2.2套接字阻塞模式 595

17.2.3字节顺序 596

17.2.4套接字I/O模型 596

17.3套接字函数 611

17.3.1套接字函数介绍 611

17.3.2设计简单的网络聊天程序 616

17.4 MFC套接字编程 624

17.4.1 CAsyncSocket类 624

17.4.2 CSocket类 628

17.4.3设计多人对话的网络聊天室 629

17.5实战 635

17.5.1设计信息广播应用程序 635

17.5.2设计文件发送应用程序 638

17.6小结 657

17.7实战练习 657

第3部分 项目实战 661

第18章 学生管理系统 661

18.1开发背景 662

18.2系统分析 662

18.2.1需求分析 662

18.2.2系统功能描述 662

18.3系统设计 663

18.3.1系统目标 663

18.3.2系统功能结构 663

18.3.3系统预览 664

18.3.4业务流程图 664

18.3.5数据库设计 665

18.4公共类设计 667

18.5主窗体设计 668

18.6科目信息管理模块设计 669

18.6.1科目信息管理模块概述 669

18.6.2科目信息管理技术分析 669

18.6.3科目信息管理实现过程 670

18.7学生信息管理模块设计 675

18.7.1学生信息管理模块概述 675

18.7.2学生信息管理技术分析 675

18.7.3学生信息管理实现过程 675

18.8学生成绩录入模块设计 679

18.8.1学生成绩录入模块概述 679

18.8.2学生成绩录入技术分析 679

18.8.3学生成绩录入实现过程 680

18.9成绩等级管理模块设计 682

18.9.1成绩等级管理模块概述 682

18.9.2成绩等级管理技术分析 682

18.9.3成绩等级管理实现过程 683

18.10学生违规查询模块设计 690

18.10.1学生违规查询模块概述 690

18.10.2学生违规查询技术分析 690

18.10.3学生违规查询实现过程 691

18.11学生成绩报表打印模块设计 694

第19章 人事考勤管理系统 699

19.1开发背景 700

19.2系统分析 700

19.2.1需求分析 700

19.2.2系统功能描述 700

19.3系统设计 700

19.3.1系统目标 700

19.3.2系统功能结构 701

19.3.3系统预览 701

19.3.4业务流程图 702

19.3.5数据库设计 702

19.4公共类设计 703

19.5主窗体设计 708

19.6用户登录模块设计 709

19.6.1用户登录模块概述 709

19.6.2用户登录模块技术分析 709

19.6.3用户登录模块实现过程 710

19.7用户管理模块设计 711

19.7.1用户管理模块概述 711

19.7.2用户管理模块技术分析 711

19.7.3用户管理模块实现过程 712

19.8部门管理模块设计 713

19.8.1部门管理模块概述 713

19.8.2部门管理模块技术分析 714

19.8.3部门管理模块实现过程 714

19.9人员信息管理模块设计 717

19.9.1人员信息管理模块概述 717

19.9.2人员信息管理技术分析 717

19.9.3人员信息管理实现过程 717

19.10考勤管理模块设计 723

19.10.1考勤管理模块概述 723

19.10.2考勤管理模块技术分析 724

19.10.3考勤管理模块实现过程 725

19.11考勤汇总查询模块设计 730

19.11.1考勤汇总查询模块概述 730

19.11.2考勤汇总查询模块技术分析 730

19.11.3考勤汇总查询模块实现过程 731

第20章 视频聊天软件 735

20.1开发背景 736

20.2系统功能描述 736

20.3系统技术分析 736

20.4系统实现过程 737

第21章 局域网监控系统 745

21.1开发背景 746

21.2系统功能描述 746

21.3系统技术分析 746

21.4系统实现过程 747

第22章 垃圾文件清理工具 753

22.1开发背景 754

22.2系统功能描述 754

22.3系统技术分析 754

22.4系统实现过程 755

附录A 759

第1章思考题答案 759

第2章思考题答案 760

第3章思考题答案 760

第4章思考题答案 761

第5章思考题答案 761

第6章思考题答案 762

第7章思考题答案 763

第8章思考题答案 763

第9章思考题答案 764

第10章思考题答案 764

第11章思考题答案 765

第12章思考题答案 766

第13章思考题答案 766

第14章思考题答案 768

第15章思考题答案 768

第16章思考题答案 769

第17章思考题答案 769