图书目录

目  录

第1篇  基础知识

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

视频讲解:30分钟

1.1  Visual C++ 6.0概述  4

1.2  Visual C++ 6.0开发环境介绍  4

1.2.1  熟悉Visual C++ 6.0 IDE开发环境  4

1.2.2  Visual C++ 6.0 IDE菜单介绍  5

1.2.3  Visual C++ 6.0 IDE工具栏介绍  11

1.2.4  Visual C++ 6.0工作区窗口介绍  13

1.2.5  Visual C++ 6.0 控件面板介绍  14

1.2.6  Visual C++ 6.0输出窗口介绍  15

1.3  设置自己的开发环境  16

1.3.1  自定义工具栏  16

1.3.2  自定义代码编辑窗口  17

1.4  创建一个简单的程序  18

1.4.1  创建工程  18

1.4.2  编辑程序  21

1.5  小结  22

第2章  C++语言基础  23

视频讲解:1小时40分钟

2.1  C++文件结构  24

2.1.1  头文件的构成  24

2.1.2  源文件的构成  24

2.2  C++语言基本要素  25

2.2.1  标识符  25

2.2.2  关键字  25

2.2.3  常量  26

2.2.4  变量  26

2.2.5  变量的存储类型  27

2.3  数据类型  29

2.3.1  数值类型  29

2.3.2  字符类型  30

2.3.3  数组类型  31

2.3.4  布尔类型  33

2.3.5  枚举类型  33

2.3.6  结构体类型  34

2.3.7  共用体类型  37

2.3.8  指针类型  38

2.3.9  引用类型  41

2.3.10  自定义类型  42

2.4  运算符  43

2.4.1  赋值运算符  43

2.4.2  算术运算符  44

2.4.3  关系运算符  45

2.4.4  逻辑运算符  46

2.4.5  自增自减运算符  47

2.4.6  位运算符  48

2.4.7  sizeof运算符  51

2.4.8  new和delete运算符  52

2.4.9  结合性与优先级  53

2.5  表达式  55

2.5.1  逗号表达式  55

2.5.2  三目元表达式  56

2.6  程序编码规范  56

2.6.1  合理使用注释  56

2.6.2  统一代码缩进  58

2.6.3  代码换行  59

2.6.4  合理使用空格  60

2.6.5  命名规则  61

2.7  小结  62

2.8  实践与练习  62

第3章  语句  63

视频讲解:27分钟

3.1  语句的构成  64

3.2  复合语句  64

3.3  分支语句  66

3.3.1  if语句  66

3.3.2  switch语句  68

3.4  循环语句  71

3.4.1  for语句  71

3.4.2  while语句  74

3.4.3  do while语句  74

3.4.4  嵌套循环语句  75

3.5  跳转语句  76

3.5.1  goto语句  76

3.5.2  return语句  77

3.5.3  exit语句  79

3.6  小结  79

3.7  实践与练习  79

第4章  面向过程程序设计  81

视频讲解:49分钟

4.1  函数  82

4.1.1  定义和调用函数  82

4.1.2  设置默认值参数  85

4.1.3  设置数组参数  86

4.1.4  设置指针/引用参数  89

4.1.5  省略号参数  91

4.1.6  内联函数  92

4.1.7  重载函数  93

4.1.8  函数递归调用  96

4.1.9  函数指针  97

4.2  作用域和生命期  99

4.2.1  局部作用域  99

4.2.2  全局作用域  101

4.2.3  定义和使用命名空间  102

4.3  函数模板  107

4.3.1  定义和使用函数模板  107

4.3.2  重载函数模板  108

4.4  小结  109

4.5  实践与练习  109

第5章  面向对象程序设计  111

视频讲解:1小时17分钟

5.1  类和对象  112

5.1.1  类的定义  112

5.1.2  类成员的访问  114

5.1.3  构造函数和析构函数  116

5.1.4  内联成员函数  121

5.1.5  静态类成员  124

5.1.6  隐藏的this指针  126

5.1.7  运算符重载  128

5.1.8  友元类和友元方法  131

5.1.9  类的继承  135

5.1.10  类域  146

5.1.11  嵌套类  147

5.1.12  局部类  149

5.2  类模板  149

5.2.1  类模板的定义及应用  149

5.2.2  定义类模板的静态数据成员  154

5.3  异常处理  156

5.3.1  异常捕捉语句  156

5.3.2  抛出异常  157

5.4  小结  159

5.5  实践与练习  159

第2篇  核心技术

第6章  对话框应用程序设计  163

视频讲解:1小时28分钟

6.1  构建应用程序  164

6.1.1  构建对话框应用程序  164

6.1.2  构建单文档/视图应用程序  164

6.1.3  构建多文档/视图应用程序  167

6.2  对话框的创建及显示  167

6.2.1  创建对话框  168

6.2.2  显示对话框  168

6.3  对话框属性设置  170

6.3.1  设置对话框的标题  170

6.3.2  设置对话框的边框风格  171

6.3.3  使用对话框关联菜单  171

6.3.4  设置对话框字体  172

6.4  在对话框中操作控件  172

6.4.1  在对话框中使用控件  172

6.4.2  控件对齐方式  173

6.4.3  为控件关联变量  175

6.5  添加对话框成员及成员函数  176

6.5.1  添加普通成员及成员函数  176

6.5.2  添加消息处理函数  177

6.5.3  手动添加命令消息处理函数  178

6.6  消息对话框  178

6.7  Windows通用对话框  180

6.7.1  使用“文件”对话框打开和保存文件  180

6.7.2  使用“字体”对话框设置文本字体  183

6.7.3  使用“颜色”对话框设置文本背景颜色  184

6.7.4  使用“查找/替换”对话框在文本中替换字符串  186

6.7.5  使用“打印”对话框进行打印  189

6.7.6  使用“浏览文件夹”对话框选择文件夹  191

6.8  小结  192

6.9  实践与练习  192

第7章  常用控件  193

视频讲解:51分钟

7.1  静态文本控件  194

7.1.1  设置显示文本  194

7.1.2  设置文本颜色  194

7.1.3  模拟按钮控件的单击事件  195

7.2  编辑框控件  195

7.2.1  设置密码编辑框  196

7.2.2  设置只读编辑框  196

7.2.3  设置编辑框多行显示  196

7.2.4  设置编辑框按Enter键换行  197

7.2.5  使用编辑框控件录入数据  197

7.3  图像控件  197

7.3.1  通过属性显示位图  198

7.3.2  设置边框颜色和填充颜色  198

7.3.3  居中显示位图资源  198

7.4  按钮控件  199

7.4.1  使用按钮控件显示图标  199

7.4.2  使用按钮控件处理用户操作  200

7.5  复选框控件  200

7.5.1  设置复选框控件的选中状态  200

7.5.2  使用复选框控件统计信息  201

7.6  单选按钮控件  202

7.6.1  为单选按钮控件分组  202

7.6.2  获得被选择的单选按钮的文本  203

7.7  组合框控件  204

7.7.1  设置控件风格  204

7.7.2  调整列表部分的显示大小  204

7.7.3  通过属性插入数据  205

7.7.4  调整数据显示顺序  205

7.7.5  获得选择的数据  205

7.8  列表框控件  206

7.8.1  在指定位置插入文本  207

7.8.2  避免插入重复数据  208

7.8.3  实现复选数据功能  209

7.9  进度条控件  210

7.9.1  设置显示风格  210

7.9.2  设置进度条的范围  211

7.10  小结  211

7.11  实践与练习  211

第8章  菜单  213

视频讲解:19分钟

8.1  菜单资源设计  214

8.2  菜单项的命令处理  216

8.3  动态创建菜单  217

8.4  创建弹出式菜单  219

8.5  创建图标菜单  221

8.6  小结  227

8.7  实践与练习  227

第9章  工具栏和状态栏  229

视频讲解:22分钟

9.1  工具栏设计  230

9.1.1  工具栏资源设计  230

9.1.2  工具栏的命令处理  231

9.1.3  动态创建工具栏  232

9.1.4  设置工具栏按钮提示  236

9.2  状态栏设计  241

9.2.1  创建状态栏  241

9.2.2  在状态栏中显示控件  243

9.3  小结  245

9.4  实践与练习  245

第10章  高级控件  247

视频讲解:46分钟

10.1  图像列表控件  248

10.1.1  创建图像列表  248

10.1.2  将图像绘制到程序中  249

10.2  列表视图控件  250

10.2.1  设置显示风格  250

10.2.2  设计登录窗口  251

10.2.3  将数据加载到列表  252

10.2.4  具有位图背景的控件  255

10.2.5  动态创建列表视图控件  257

10.3  树控件  258

10.3.1  动态创建树控件  258

10.3.2  带复选功能的树控件  261

10.3.3  可编辑节点的树控件  264

10.4  标签控件  266

10.4.1  设置显示方式  266

10.4.2  图标标签控件  266

10.4.3  设计程序模块  268

10.5  应用工具提示控件  270

10.6  小结  272

10.7  实践与练习  273

第11章  自定义MFC控件  275

视频讲解:41分钟

11.1  自定义编辑框控件  276

11.1.1  数字编辑框  276

11.1.2  特殊文本颜色编辑框  277

11.1.3  位图背景编辑框  279

11.2  自定义按钮控件  280

11.2.1  图标按钮  281

11.2.2  热点按钮  284

11.2.3  圆形按钮  288

11.3  位图背景树控件  290

11.4  三态效果复选框控件  292

11.5  小结  294

11.6  实践与练习  295

第12章  文本、图形、图像处理  297

视频讲解:1小时3分钟

12.1  GDI概述  298

12.1.1  设备上下文  298

12.1.2  GDI对象  299

12.2  文本输出  300

12.2.1  在具体位置和区域中输出文本  300

12.2.2  利用制表位控制文本输出  302

12.2.3  设置字体及文本颜色  303

12.2.4  在路径中输出文本  305

12.2.5  在图像背景上输出透明文本  306

12.3  绘制图形  308

12.3.1  利用线条绘制多边形  308

12.3.2  直接绘制多边形  310

12.3.3  绘制控件外观  312

12.3.4  填充图形区域  313

12.4  图像显示  315

12.4.1  在设备上下文中绘制图像  315

12.4.2  从磁盘中加载图像到窗口中  318

12.4.3  位图文件分析  319

12.4.4  根据位图数据直接绘图  321

12.4.5  显示JPEG图像  323

12.5  GDI+图像编程  325

12.5.1  在Visual C++ 6.0中使用GDI+  325

12.5.2  利用GDI+实现图像类型转换  326

12.5.3  使用GDI+显示GIF图像  329

12.6  小结  332

12.7  实践与练习  332

第13章  文档与视图  333

视频讲解:30分钟

13.1  构建文档/视图应用程序  334

13.1.1  文档/视图结构概述  334

13.1.2  创建文档/视图结构应用程序  334

13.2  文档/视图结构的创建  335

13.2.1  文档模板的创建  335

13.2.2  文档的创建  337

13.2.3  框架与视图的创建  340

13.3  文档模板概述  343

13.3.1  文档管理器  344

13.3.2  文档模板  347

13.4  文档对象  348

13.4.1  文档对象的主要方法  348

13.4.2  文档的初始化  350

13.4.3  保存文档  351

13.4.4  文档的命令处理  351

13.4.5  文档的销毁  353

13.5  视图对象  356

13.5.1  视图对象的主要方法  356

13.5.2  视图的初始化  357

13.5.3  视图的绘制  358

13.5.4  视图的销毁  359

13.6  框架窗口  362

13.6.1  框架对象的主要方法  362

13.6.2  框架的初始化  363

13.6.3  命令消息处理  364

13.7  文档/视图的应用  365

13.7.1  实例说明  365

13.7.2  实例实现  366

13.8  术语  369

13.9  小结  370

13.10  实践与练习  370

第3篇  高级应用

第14章  打印技术  373

视频讲解:26分钟

14.1  打印基础  374

14.1.1  映射模式  374

14.1.2  获取打印机设备上下文  374

14.2  文档/视图应用程序打印  375

14.3  对话框应用程序打印  377

14.3.1  打印对话框中的表格  377

14.3.2  打印磁盘中的文件  379

14.4  打印设置  381

14.4.1  设置打印方向  381

14.4.2  设置打印页面  384

14.5  修改打印预览  386

14.6  小结  390

14.7  实践与练习  390

第15章  文件与注册表操作  391

视频讲解:40分钟

15.1  普通文件操作  392

15.1.1  应用C函数进行文件操作  392

15.1.2  使用CFile类进行文件操作  395

15.1.3  使用CFileFind类进行文件查找  400

15.2  串行化  403

15.2.1  串行化基础  404

15.2.2  编写串行化类  406

15.3  INI文件操作  408

15.3.1  INI文件基本结构  408

15.3.2  读写INI文件  408

15.4  注册表操作  411

15.4.1  使用API函数操作注册表  412

15.4.2  基于CRegKey类操作注册表  417

15.5  小结  420

15.6  实践与练习  420

第16章  ADO编程  421

视频讲解:31分钟

16.1  ADO编程基础  422

16.1.1  ADO概述  422

16.1.2  在Visual C++中应用ADO技术  422

16.2  ADO对象  422

16.2.1  ADO连接对象  423

16.2.2  ADO记录集对象  425

16.2.3  ADO命令对象  429

16.2.4  ADO参数对象  430

16.3  ADO对象应用  431

16.3.1  封装ADO对象  432

16.3.2  使用ADO对象添加、修改、删除数据  434

16.3.3  使用ADO对象检索数据  438

16.4  小结  440

16.5  实践与练习  440

第17章  动态链接库  441

视频讲解:21分钟

17.1  动态链接库基础  442

17.1.1  动态链接库的特点  442

17.1.2  动态链接库的访问  442

17.1.3  查看动态链接库  443

17.2  创建和使用Win32动态链接库  444

17.2.1  创建动态链接库  444

17.2.2  调用动态链接库  446

17.2.3  向动态链接库中添加C++类和资源  447

17.2.4  访问动态链接库中的C++类和资源  448

17.2.5  使用动态链接库设计多国语言的应用程序  450

17.3  小结  454

17.4  实践与练习  454

第18章  多线程程序设计  455

视频讲解:31分钟

18.1  线程概述  456

18.1.1  理解系统内核对象  456

18.1.2  理解进程和线程  456

18.2  线程的创建  456

18.2.1  使用CreateThread函数创建线程  457

18.2.2  使用_beginthreadex函数创建线程  458

18.2.3  使用AfxBeginThread函数创建线程  459

18.2.4  应用MFC类库创建线程  461

18.3  线程的挂起、唤醒与终止  464

18.4  线程同步  466

18.4.1  多线程潜在的危险  466

18.4.2  使用事件对象实现线程同步  468

18.4.3  使用信号量对象实现线程同步  470

18.4.4  使用临界区对象实现线程同步  472

18.4.5  使用互斥对象实现线程同步  474

18.5  小结  476

18.6  实践与练习  476

第19章  网络套接字编程  477

视频讲解:54分钟

19.1  计算机网络基础  478

19.1.1  OSI参考模型  478

19.1.2  IP地址  478

19.1.3  地址解析  479

19.1.4  域名系统  480

19.1.5  TCP/IP协议  480

19.1.6  端口  482

19.2  套接字概述  482

19.2.1  套接字概述  483

19.2.2  网络字节顺序  483

19.2.3  套接字I/O模式  483

19.3  套接字函数  483

19.3.1  套接字函数介绍  483

19.3.2  基于套接字函数的网络聊天系统  488

19.4  MFC套接字编程  494

19.4.1  CAsyncSocket类  494

19.4.2  CSocket类  499

19.4.3  基于TCP协议的网络聊天室系统  500

19.5  小结  505

19.6  实践与练习  505

第4篇  项目实战

第20章 图像处理系统  509

视频讲解:3小时14分钟  509

20.1  开发背景  510

20.2  需求分析  510

20.3  系统设计  510

20.3.1  系统目标  510

20.3.2  系统功能结构  511

20.3.3  系统预览  511

20.3.4  业务流程  514

20.4  公共模块设计  515

20.5  主窗体设计  518

20.6  图像旋转模块设计  524

20.6.1  图像旋转模块概述  524

20.6.2  图像旋转模块技术分析  525

20.6.3  图像旋转模块实现过程  526

20.7  图像缩放模块设计  534

20.7.1  图像缩放模块概述  534

20.7.2  图像缩放模块技术分析  535

20.7.3  图像缩放模块实现过程  536

20.7.4  单元测试  542

20.8  图像水印效果模块设计  542

20.8.1  图像水印效果模块概述  542

20.8.2  图像水印效果模块技术分析  543

20.8.3  图像水印效果模块实现过程  543

20.9  PSD文件浏览模块设计  546

20.9.1  PSD文件浏览模块概述  546

20.9.2  PSD文件浏览模块技术分析  546

20.9.3  PSD文件浏览模块实现过程  548

20.10  照片版式处理模块设计  552

20.10.1  照片版式处理模块概述  552

20.10.2  照片版式处理模块技术分析  553

20.10.3  照片版式处理模块实现过程  557

20.11  开发技巧与难点分析  563

20.11.1  位图数据的存储形式  563

20.11.2  在Visual C++中使用GDI+  566

20.12  小结  567