内容简介 · · · · · ·
Visual C++是Microsoft公司开发的基于C/C++的可视化的集成开发工具。因其开发的应用程序执行效率高而深受开发人员的喜爱,尤其是用Visual C++开发Windows应用程序更是程序员的首选。Microsoft公司提供了Microsoft基本类库(Microsoft Foundation Class Library,MFC),为用户提供了大量的标准类,可以缩短软件的开发周期。这也是Visual C++流行多年的一个重要原因。
当前,Visual C++仍然焕发着迷人的光彩。很多大中专院校要开设相关课程,很多想从事开发的人员要学习它的使用,很多软件企业还在利用它开发各种各样的软件系统……使得这个老牌开发工具在20年后依然有很强的生命力。相应地,市场上也出版了不少相关图书。但翻遍这些图书,要想找一本易学易用、适合没有任何基础的新手阅读的...
Visual C++是Microsoft公司开发的基于C/C++的可视化的集成开发工具。因其开发的应用程序执行效率高而深受开发人员的喜爱,尤其是用Visual C++开发Windows应用程序更是程序员的首选。Microsoft公司提供了Microsoft基本类库(Microsoft Foundation Class Library,MFC),为用户提供了大量的标准类,可以缩短软件的开发周期。这也是Visual C++流行多年的一个重要原因。
当前,Visual C++仍然焕发着迷人的光彩。很多大中专院校要开设相关课程,很多想从事开发的人员要学习它的使用,很多软件企业还在利用它开发各种各样的软件系统……使得这个老牌开发工具在20年后依然有很强的生命力。相应地,市场上也出版了不少相关图书。但翻遍这些图书,要想找一本易学易用、适合没有任何基础的新手阅读的书并不容易。基于这个原因,笔者根据自己多年使用Visual C++的经验和心得体会写了这本书,希望能够引领读者更简捷、更有效地进入Visual C++的殿堂。
本书以通俗易懂、生活化的例子介绍解释每个知识点的用法,书中的每个例子能起到抛砖引玉的功效,语言尽可能轻松活泼,多用类比、对比、比喻等写作手法,配合大量图解教学,并对难点给出了必要提示。另外,本书还录制了配套的多媒体教学视频,以辅助读者学习。相信这样的一本书可以扫清读者学习过程中的障碍,让读者少走弯路,并激发学习Visual C++的兴趣,从而较快地掌握Visual C++编程。
作者简介 · · · · · ·
侯晓琴,毕业于西北工业大学,获信号与信息处理硕士学位。研究方向为虚拟现实的三维建模。硕士研究生期间一直致力于三维虚拟场景的编码工作。毕业后加入对口公司进行三维虚拟系统的开发。热衷于三维虚拟系统的开发与研究,对visual c++有透彻和深入的理解。
目录 · · · · · ·
第1章 开发环境及常用应用程序框架( 教学视频:21分钟) 2
1.1 安装并测试开发环境 2
1.1.1 安装开发环境 2
1.1.2 安装开发环境的帮助文件(MSDN) 6
1.1.3 测试开发环境实例:新建一个“HelloWorld”控制台程序 7
· · · · · · (更多)
第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++入门很简单的书评 · · · · · · ( 全部 0 条 )
论坛 · · · · · ·
在这本书的论坛里发言在哪儿借这本书 · · · · · ·
以下书单推荐 · · · · · · ( 全部 )
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有4人想读,手里有一本闲着?
订阅关于Visual C++入门很简单的评论:
feed: rss 2.0
0 有用 雨而需 2014-04-20 11:21:11
写的较为笼统,从入门到精通,一本书远远不够吧
0 有用 Young 2016-10-25 00:37:04
不错的书,不过我们图书馆有一条规定,还书12小时之内同一个人不能再借,结果就被别人借走了好伤心……看了一半
0 有用 Young 2016-10-25 00:37:04
不错的书,不过我们图书馆有一条规定,还书12小时之内同一个人不能再借,结果就被别人借走了好伤心……看了一半
0 有用 雨而需 2014-04-20 11:21:11
写的较为笼统,从入门到精通,一本书远远不够吧