图书目录

目    录

第1篇  Visual C++开发环境及语言基础

第1章  开发环境及常用应用程序框架( 教学视频:21分钟) 2

1.1  安装并测试开发环境 2

1.1.1  安装开发环境 2

1.1.2  安装开发环境的帮助文件(MSDN) 6

1.1.3  测试开发环境实例:新建一个“HelloWorld”控制台程序 7

1.2  Visual C++的发展史 9

1.2.1  C发展为C++ 9

1.2.2  Visual C++ 6.0的发展 10

1.2.3  了解Visual C++新版本的特点 10

1.2.4  MFC类库(Microsoft Foundation Classes)简述 10

1.3  开发环境介绍 13

1.3.1  C/C++编译器简述 13

1.3.2  了解Visual C++界面、菜单、工具栏 13

1.3.3  了解项目和项目工作区 14

1.4  调试程序 15

1.4.1  查找源程序中的语法错误 16

1.4.2  运用调试器 17

1.4.3  跟踪调试程序 18

1.5  Visual C++常用应用程序框架 19

1.5.1  简述Win32应用程序(Win32 Application) 19

1.5.2  简述Win32控制台程序(Win32 Console Application) 20

1.5.3  简述MFC应用程序(MFC Application) 20

1.5.4  创建MFC动态链接库(MFC DLL) 23

1.6  开发环境的快捷方式简介 24

1.7  本章总结 25

1.8  课后练习 25

第2章  C++入门基础( 教学视频:62分钟) 26

2.1  C++基础知识 26

2.1.1  学习C++的必要性 26

2.1.2  学习C++有何优势 26

2.1.3  学习C++应具备什么素质 27

2.1.4  C++会带给我们什么 27

2.2  数据类型 27

2.2.1  基础数据类型——常量和变量 28

2.2.2  小议简单类型 30

2.2.3  对比分析共用体(union)和结构体(struct) 35

2.2.4  在实例中简单应用指针类型 37

2.2.5  实现面向对象编程的必要条件——类 39

2.2.6  简单应用string类 40

2.3  能减少代码行数的数据类型——数组 41

2.3.1  应用读写数据——一维数组 42

2.3.2  应用图像处理——二维数组 44

2.3.3  应用处理字符串——字符型数组 44

2.4  运算符应用 46

2.4.1  各种运算符优先级 46

2.4.2  应用“=”——赋值运算符 47

2.4.3  应用“+、-、*、/、%、++、--”——算术运算符 48

2.4.4  应用“&&、||、!”——逻辑运算符 48

2.4.5  应用“<、<=、>、>=、==、!=”——关系运算符 49

2.5  C++的流程控制语句 50

2.5.1  实现程序的选择结构——if语句和switch语句 51

2.5.2  实现程序的循环结构——for语句、while语句和do…while语句 54

2.5.3  实例:一个工科生的每星期中选穿T恤颜色 56

2.6  函数 58

2.6.1  什么是函数 58

2.6.2  创建一个函数 58

2.6.3  函数的参数和返回值 59

2.7  实例详解函数的调用 59

2.7.1  函数的嵌套调用 59

2.7.2  函数的递归调用 60

2.8  本章总结 61

2.9  课后练习 62

第3章  C++面向对象编程基础( 教学视频:34分钟) 63

3.1  什么是面向对象编程 63

3.2  面向对象编程的基本内容 64

3.2.1  程序运行期的基本实体——对象 64

3.2.2  实现面向对象编程的必要条件——类 65

3.2.3  实现程序的模块化——封装 66

3.2.4  实现系统的可重用及可扩充性——继承 67

3.2.5  同一消息为不同对象接受时产生完全不同的行为——多态 68

3.2.6  对象之间沟通的途径——消息传递 68

3.3  讨论类的结构及编写规则 69

3.3.1  构造函数 69

3.3.2  默认参数的构造函数 71

3.3.3  析构函数 73

3.3.4  实例:介绍重载构造函数和复制构造函数 76

3.3.5  虚函数 79

3.3.6  虚基类 82

3.4  详解派生类 83

3.4.1  派生类从何而来 83

3.4.2  派生类如何访问基类成员 84

3.4.3  实例:如何写一个派生类 84

3.4.4  派生类的构造和析构函数的执行顺序 85

3.5  友元 86

3.5.1  应用友元函数 86

3.5.2  应用友元类 87

3.6  重载 88

3.6.1  什么是重载 88

3.6.2  分析重载与重写的不同 89

3.6.3  实例:函数的重载 89

3.6.4  实例:运算符的重载 90

3.7  实例:具体实现封装、继承 91

3.7.1  创建一个父类 91

3.7.2  编写父类内函数 92

3.7.3  创建一个子类——实现继承功能 94

3.7.4  封装类和函数 95

3.8  本章总结 98

3.9  课后练习 98

第4章  MFC运行机制( 教学视频:19分钟) 100

4.1  什么是MFC 100

4.1.1  MFC基础知识 100

4.1.2  新建单文档MFC应用程序的4个类 102

4.2  MFC程序运行顺序 106

4.3  消息 107

4.3.1  消息的定义 108

4.3.2  消息中有什么 108

4.3.3  消息的分类 109

4.4  消息队列及消息处理 113

4.4.1  对比介绍队列消息和非队列消息 114

4.4.2  消息的发送方式——发送、寄送和广播 114

4.4.3  描述接收消息的函数 116

4.4.4  详解具体实例——消息的处理 117

4.5  实现窗口实时更新的必要条件——消息循环 119

4.5.1  非对话框程序的消息循环机制 119

4.5.2  对话框程序的消息循环机制 121

4.6  本章总结 122

4.7  课后练习 123

第2篇  Visual Studio图形编程

第5章  结合实例详解Windows标准控件( 教学视频:37分钟) 126

5.1  简单介绍Windows标准控件 126

5.2  学习按钮控件 128

5.2.1  创建一个按钮 128

5.2.2  编辑按钮的属性与消息类型 130

5.2.3  响应按钮的消息 135

5.2.4  调试及效果图 137

5.3  学习静态控件 137

5.3.1  创建一个静态文本框 137

5.3.2  编辑静态框的属性与消息类型 138

5.3.3  响应控件的消息 139

5.3.4  调试并展示效果图 142

5.4  学习编辑框控件 143

5.4.1  创建一个编辑框 143

5.4.2  编辑控件的属性与消息类型 144

5.4.3  响应控件的消息 145

5.4.4  调试并展示效果图 147

5.5  学习组合框控件 147

5.5.1  创建一个组合框 148

5.5.2  编辑控件的属性与消息类型 149

5.5.3  响应控件的消息 150

5.5.4  调试并展示效果图 150

5.6  学习进度条、滑块控件 151

5.6.1  创建进度条 151

5.6.2  使用进度条 151

5.6.3  创建滑块控件 153

5.6.4  使用滑块控件 154

5.6.5  进度条、滑块控件编程实例 154

5.7  简单应用ActiveX控件 155

5.7.1  应用注册表中已有的ActiveX控件 155

5.7.2  应用新下载的ActiveX控件 160

5.8  本章总结 160

5.9  课后练习 161

第6章  菜单( 教学视频:17分钟) 162

6.1  建立菜单 162

6.1.1  认识菜单的响应顺序 162

6.1.2  新建菜单 163

6.1.3  添加菜单项 164

6.1.4  加入菜单项的消息响应 165

6.2  关联菜单项的各种动作 166

6.2.1  标记菜单项 166

6.2.2  设置默认菜单项 168

6.2.3  创建图形标记菜单 168

6.2.4  屏蔽子菜单的菜单选项 170

6.2.5  取消整个菜单 170

6.3  给菜单项设置快捷键 171

6.4  调用对话框 172

6.4.1  调用系统对话框 172

6.4.2  调用自建对话框 177

6.5  实例——动态创建菜单 178

6.6  本章总结 180

6.7  课后练习 181

第7章  编辑工具栏和状态栏( 教学视频:26分钟) 182

7.1  编辑工具栏 182

7.1.1  认识工具栏 182

7.1.2  增加和删除工具栏按钮 183

7.1.3  编辑工具栏按钮图标 184

7.1.4  响应工具栏按钮 187

7.2  设置工具栏的其他功能案例 188

7.2.1  给工具栏设标题 188

7.2.2  为工具栏按钮添加下拉箭头 188

7.2.3  为工具栏添加背景图片 190

7.2.4  为工具栏按钮设置热点图像 191

7.2.5  添加按钮提示信息 192

7.2.6  为工具栏关联控件 193

7.3  编辑状态栏 195

7.3.1  创建状态栏 195

7.3.2  在状态栏中添加进度条 197

7.3.3  在状态栏中添加时间 198

7.4  本章总结 199

7.5  课后练习 200

第8章  图形图像( 教学视频:31分钟) 201

8.1  图形设备接口和设备环境 201

8.1.1  图形设备接口 201

8.1.2  设备环境 202

8.1.3  MFC设备环境类对比分析 203

8.1.4  GDI坐标系的映射模式 208

8.2  绘图工具——画笔和画刷 212

8.2.1  画笔及应用 212

8.2.2  详解运用画笔实例 212

8.2.3  画刷及其应用 213

8.2.4  详解运用画刷实例 213

8.3  文本与字体 214

8.3.1  绘制文本 214

8.3.2  文本字符属性信息的TEXTMETRIC结构 215

8.3.3  字体的属性 217

8.3.4  运用字体实例 218

8.4  位图、图标和光标 218

8.4.1  MFC处理位图实例 219

8.4.2  MFC处理图标实例 221

8.4.3  MFC处理光标实例 223

8.5  本章总结 229

8.6  课后练习 230

第3篇  Visual C++程序开发基础篇

第9章  数据文件读写( 教学视频:53分钟) 232

9.1  运用CFile类实现数据文件读写 232

9.1.1  认识CFile类 232

9.1.2  读写文件 234

9.1.3  文件的打开/保存对话框 235

9.1.4  复制、删除和重命名文件 237

9.1.5  移动文件指针 239

9.1.6  查找文件内容 241

9.2  运用CArchive类实现数据文件读写 242

9.2.1  认识CArchive类 242

9.2.2  缓冲区数据 243

9.2.3  基本数据读写 244

9.3  运用流对象实现数据文件读写 246

9.3.1  文件输入/出流 247

9.3.2  打开/关闭文件 247

9.3.3  打开文件模式 248

9.3.4  读写文本文件 249

9.3.5  读写二进制文件 253

9.3.6  设置输出数据的格式和结束标志量 255

9.3.7  移动读写文件指针 257

9.4  本章总结 259

9.5  课后练习 259

第10章  动态链接库( 教学视频:25分钟) 260

10.1  概论 260

10.2  静态链接库 262

10.3  非MFC DLL 265

10.3.1  声明导出函数 266

10.3.2  声明导出类 269

10.3.3  DLL的调用方式 270

10.3.4  _stdcall约定 274

10.4  MFC规则DLL 276

10.4.1  对比介绍MFC规则DLL的两种类型 276

10.4.2  创建并调用MFC规则DLL 277

10.5  MFC扩展DLL 280

10.6  本章总结 281

10.7  课后练习 281

第4篇  Visual C++程序开发提高篇

第11章  多线程( 教学视频:29分钟) 284

11.1  认识多线程 284

11.1.1  什么是进程 284

11.1.2  什么是线程 285

11.1.3  应用多线程的好处 286

11.1.4  应用多线程的一些缺点 287

11.1.5  MFC对多线程编程的支持 288

11.2  线程的管理和操作 289

11.2.1  创建多线程 290

11.2.2  线程的优先级 292

11.2.3  线程的悬挂和恢复 295

11.2.4  结束线程 297

11.3  线程的同步 298

11.3.1  提出问题——线程不同步怎么办 298

11.3.2  实现线程同步对象一:临界区(CCriticalSection) 299

11.3.3  实现线程同步对象二:事件(CEvent) 301

11.3.4  实现线程同步对象三:互斥量(CMutex) 304

11.3.5  实现线程同步对象四:信号量(CSemaphone) 306

11.4  线程间通信 311

11.4.1  线程间通信的目的 311

11.4.2  利用用户定义的消息通信 311

11.4.3  利用事件对象实现通信 314

11.5  分析简单的多线程程序 315

11.5.1  一个简单多线程应用程序——卖票 315

11.5.2  MFC多线程编程实例 318

11.6  本章总结 320

11.7  课后练习 321

第12章  网络编程( 教学视频:20分钟) 322

12.1  介绍基础知识 322

12.1.1  什么是网络编程 322

12.1.2  网络编程涉及的知识点 323

12.2  网络协议 324

12.2.1  什么是网络协议 324

12.2.2  介绍网络分层模型——ISO/OSI 325

12.2.3  最流行的网络协议——TCP/IP 325

12.3  套接字 326

12.3.1  什么是套接字 326

12.3.2  套接字进行数据处理的两种模式:同步和异步 327

12.4  套接字的编程 328

12.4.1  两个服务器/客户端模型 328

12.4.2  套接字编程要用的函数 329

12.4.3  套接字编程实例 332

12.5  进程间通信 335

12.5.1  使用Windows剪贴板通信 335

12.5.2  使用匿名管道通信 338

12.5.3  使用命名管道通信 343

12.5.4  使用邮件槽通信 349

12.6  本章总结 351

12.7  课后练习 351

第13章  数据库编程( 教学视频:32分钟) 353

13.1  数据库的基础知识 353

13.1.1  数据库的定义 353

13.1.2  数据库的发展简史 354

13.1.3  介绍常用数据库 354

13.2  常用的数据库编程技术 354

13.2.1  MFC ODBC数据库开发技术 355

13.2.2  ADO数据库开发技术 360

13.3  新建数据库 363

13.4  数据库访问控件 367

13.4.1  添加ADO数据控件 367

13.4.2  添加DataGrid控件 369

13.4.3  添加DataCombo和DataList控件 369

13.5  本章总结 370

13.6  课后练习 371

第14章  标准模板库(STL)( 教学视频:14分钟) 372

14.1  概述STL 372

14.1.1  什么是标准模板库STL 372

14.1.2  STL和C++标准库的关系 374

14.1.3  STL的不同实现版本 375

14.2  容器 375

14.2.1  容器的概念 375

14.2.2  容器的分类 376

14.2.3  顺序式容器 377

14.2.4  关联式容器 381

14.3  迭代器 383

14.3.1  迭代器的概念 383

14.3.2  迭代器的基本操作 385

14.3.3  编程实例 385

14.4  算法 386

14.4.1  copy算法 386

14.4.2  sort算法 387

14.4.3  应用示例 387

14.5  本章总结 388

14.6  课后练习 389

第15章  电子书管理系统( 教学视频:25分钟) 390

15.1  系统设计 390

15.1.1  系统设计思想 390

15.1.2  系统功能模块划分 390

15.2  项目开发初期规划阶段 391

15.3  分析系统登录模块 392

15.3.1  添加并编辑各个控件的属性 393

15.3.2  实现绘制文本功能 393

15.3.3  响应“退出”按钮功能 394

15.3.4  响应“修改登录信息”按钮功能 395

15.3.5  响应“登录”按钮功能 397

15.4  分析用户资料管理模块 399

15.5  分析电子书管理模块 401

15.5.1  实现文本绘制及对话框的初始化 401

15.5.2  实现连接数据库的功能 405

15.5.3  实现查询功能 406

15.5.4  实现添加功能 409

15.5.5  实现删除功能 413

15.5.6  实现修改功能 414

15.5.7  实现确定和取消功能 416

15.6  常见问题 420

15.6.1  E_bookDlg类 420

15.6.2  Book_material类 420

  

  

  ??

  

  ??

  

  ??

  

  ??

  

Visual C++入门很简单

  

目录

  

·XIV·

  

  

·XIII·