标题：Visual C++入门与提高
图书信息
出版社: 科学出版社; 第1版 (2008年10月1日)
丛书名: 计算机热门软件入门与提高丛书
平装: 408页
正文语种: 简体中文
开本: 16
ISBN: 9787030227898
条形码: 9787030227898
尺寸: 25.6 x 18.6 x 2.2 cm
重量: 721 g
内容简介
《Visual C++入门与提高》是一本全面介绍Visual C++的图书。 《Visual C++入门与提高》由20章组成，分4个部分讲述了VC++开发工具的使用、使用VC++开发MFC程序、使用VC++开发应用程序、使用VC++开发实际项目，并全面介绍了使用网络编程知识开发远程监控程序，使用数据库编程相关知识开发管理信息系统等。
《Visual C++入门与提高》内容翔实、实例丰富，适合VC++程序开发初学者及希望学习VC++编程的人员学习，也适合作为大专院校师生及相关培训班的学员使用。
目录
第一篇　VC++基础知识
第1章　IDE安装与使用1
1.1 安装VisualC++6.0环境1
l.1.1 安装VC++6.0l
1.1.2 安装MSDN2
1.2 创建一个Console应用程序2
1.3 使用MSDN查找帮助信息4
1.4 调试自己的程序5
1.5 小结5
第2章　回顾C++6
2.1 结构体与类6
2.2 类成员的访问类型7
2.3  this指针7
2.4 函数重载8
2.5 构造函数9
2.6 析构函数10
2.7 静态成员12
2.7.1 定义及操作静态成员12
2.7.2 操作静态成员的条件13
2.8 继承13
2.8.1 从Student类派生3种新学生类14
2.8.2 子类对象的构造函数16
2.8.3 覆盖父类的方法17
2.8.4 虚函数18
2.8.5 虚析构函数20
2.9 类的实现和定义分离22
2.10 STI——标准模板库，方便的数据结构25
2.10.1  向量vector25
2.10.2 双端队列deque26
2.10.3 链表list27
2.10.4 集合set.28
2.10.5 映射map29
2.1l 编程规范——匈牙利表示法30
2.11.1 变量的命名30
2.11.2 函数的命名30
2.1l.3 类别的命名31
2.11.4 常量的命名3l
2.12 小结3l
第3章　告别Conso Ie进入windows32
3.1 创建第一个Windows应用程序32
3.2 与标准c++的不同35
3.2.1 入口函数不同35
3.2.2 数据类型的不同36
3.2.3 Win32 API函数36
3.3  窗口的产生37
3.3.1 使用WNDCLASSEX结构体构造窗口类别37
3.3.2 使用Register ClassEx注册窗口类别37
3.3.3 使用Create Window创建窗口38
3.3.4 Show Window显示窗口及Update Window更新窗口38
3.3.5 编写消息循环38
3.3.6 编写窗口过程函数39
3.4.Windows事件驱动39
3.5 简单的GDI操作40
3.6 应用案例——跟踪鼠标在窗口上的坐标40
3.6.1 案例需求4l
3.6.2 案例效果图4l
3.6.3 需要掌握的知识点41
3.6.4 开发过程4l
3.7 小结42
第二篇　M F c编程
第4章　文档应用程序43
4.1 使用.App Wizard——应用程序向导创建单文档程序43
4.2 MFC程序框架分析45
4.2.1 the App全局对象46
4.2.2 MFC中的Win Main函数46
4.2.3 窗口的句柄46
4.3 框架窗口一47
4.3.1 框架窗口的重要成员函数47
4.3.2 改变窗口状态48
4.4 文档模板50
4.5 文档的序列化50
4.5.1 MFC文档读写机制50
4.5.2 示例——建立可序列化的类51
4.6 文档视图结构54
4.6.1 一般视图类的使用54
4.6.2 文档与视图的相互访问55
4.6.3 切分窗口55
4.7 MFC的编程的核心——消息映射57
4.7.1 使用类向导添加消息处理57
4.7.2 手动添加消息映射58
4.8 菜单编程59
4.8.1 使用资源视图设计菜单59
4.8.2 响应菜单消息60
4.8.3 更改应用程序菜单61
4.8.4 使用快捷菜单(右键菜单)63
4.9 工具栏编程64
4.9.1 使用工具栏编辑器64
4.9.2 工具栏菜单结合64
4.9.3 多个工具栏使用65
4.10 状态栏编程67
4.10.1 状态栏的定义67
4.10.2 状态栏的常用操作68
4.11 小结71
第5章　对话框编程72
5.1 创建一个对话框程序72
5.1.1 使用AppWizard——应用程序向导创建对话框程序72
5.1.2 在对话框中添加控件73
5.1.3 通过修改对话框属性改变对话框样式73
5.1.4 简单的控件编程74
5.2 数据交换(DDX)与数据验证(DDV)74
5.2.1 使用控件类获得控件数据74
5.2.2 使用数据交换(DDX)机制获得控件数据75
5.2.3 数据验证(DDV)77
5.3 添加对话框资源78
5.4 对话框类型79
5.4.1 模态对话框79
5.4.2 非模态对话框79
5.5 通用对话框80
5.5.1 示例——使用文件选择对话框C File Dialog类打开文件80
5.5.2 示例——使用颜色选择对话框C Color Dialog类改变颜色8l
5.6 应用案例——文件分割工具制作83
5.6.1 案例效果图83
5.6.2 需要掌握的知识点83
5.6.3 文件操作83
5.6.4 开发过程84
5.6.5 Enter键调用On OK函数91
5.7 小结91
第6章　常用控件92
6.1 静态控件92
6.1.1 静态文本控件92
6.1.2 组框92
6.1.3 静态图片92
6.1.4 静态控件的其他用途92
6.2 按钮93
6.2.1 单选按钮93
6.2.2 复选框94
6.2.3 示例——用户注册信息审查94
6.3 文本框和微调按钮97
6.3.1 通过修改文本框属性改变文本框样式97
6.3.2 通过响应消息来操作文本框97
6.3.3 文本框与微调按钮配合使用97
6.4 列表框和组合框98
6.4.1 列表框的常用属性98
6.4.2 列表框的常用操作方法98
6.4.3 组合框98
6.4.4 示例——文件列表对话框制作99
6.5 列表控件101
6.5.1 为列表控件添加表列102
6.5.2 为列表控件添加表项103
6.5.3 列表控件的扩展属性105
6.5.4 列表控件的排序105
6.5.5 示例——带有排序与自绘制表头工程的列表控件105
6.6 树控件109
6.6.1 添加删除树控件节点109
6.6.2 示例——树控件使用演示110
6.7 标签控件111
6.8 小结lll
第7章　图形设备接口GDl112
7.1 回顾前面的例子112
7.2 GDI操作函数112
7.2.1 绘制文本Text Out和Dmw Text112
7.2.2 绘制点SetPixel113
7.2.3 绘制直线Move To Ex和Linle To113
7.2.4 绘制椭圆Ellipse114
7.2.5 绘制矩形Ffll Rect与R~~mgle114
7.3 坐标映射114
7.4 MFC中封装的GDI115
7.4.1 使用CDC、CClient DC和CWindow DC绘制图形115
7.4.2 示例——使用Cclient DC绘制椭圆115
7.5 字体116
7.5.1 创建字体116   7.5.2设置字体116
7.6 画笔117
7.7 画刷117
7.8 位图117
7.8.1 装载位图117
7.8.2 显示位图118
7.8.3 示例——显示位图119
7.9 应用案例——自绘制按钮制作122
7.9.1 案例效果图122
7.9.2 需要掌握的知识点122
7.9.3 控件皮肤编程原理122
7.9.4 开发过程122
7.10 应用案例自绘制表头的列表控件126
7.10.1 案例效果图127
7.10.2 开发过程127
7.11 小结131
第8章　Act i vex控件制作132
8.1 创建ActiveX控件132
8.2 使用IDE带的工具测试AOiveX控件133
8.3 如何在程序中使用.AcfiveX控件133
8.4 ActiveX控件设计135
8.4.1 为ActiveX控件添加属性135
8.4.2 为ActiveX控件添加方法137
8.5 示例——制作PictureBox控件138
8.6 小结140
第三篇　实战开发必备
第9章　动态连接库DLL141
9.1 示例——编写简单的DLI141
9.2 导入导出DLL中的函数142
9.2.1 用DLL导出函数142
9.2.2 在程序中导入DLL中的函数143
9.3 DLL中导出类143
9.4 如何调试DLL144
9.5 MFC动态链接库及其使用147
9.5.1 创建扩展。MFC DLL147
9.5.2 导入MFC DLI中的类148
9.6 应用案例——将自绘制按钮从MFC DLL.中导出149
9.7 小结149
第10章　HOOK编程150
10.1 编写一个简单的HOOK程序150
10.1.1 安装钩子150
10.1.2 使用HOOK函数处理截获的消息151
10.1.3 示例——截获当前程序的按键消息151
10.2 全局HOOK153
10.2.1 编写全局钩子DLL153
10.2.2 使用程序调用DLL启动钩子155
10.3 应用案例——探索黑客盗取密码的原理156
10.3.1 需要掌握的知识点156
10.3.2 获取密码的原理156
10.3.3 鼠标钩子156
10.3.4 开发密码查看器过程157
10.4 小结159
第11章　多线程编程160
11.1 如何创建线程160
11.1.1 使用CreateThread创建一个线程160
11.1.2 编写线程函数161
11.1.3 示例——创建一个线程16l
11.1.4 示例——创建多个线程模拟机票订购162
11.2 线程同步164
11.2.1 线程之间切换——时间片165
11.2.2 使用互斥对象来同步线程166
11.2.3 示例——修改多线程例子使用互斥对象对其进行同步166
11.2.4 示例——使用命名互斥对象判断程序是否多次运行168
11.3 线程同步的其他方法169
11.3.1 示例——使甩事件对象完成线程的同步170
11.3.2 示例——使用临界区完成线程的同步171
11.4 线程同步导致的死锁及预防173
11.4.1 示例——使用临界区时意外退出导致死锁173
11.4.2 预防死锁175
11.5 应用案例——使用多线程完善文件分割工具175
11.5.1 案例效果图175
11.5.2 需要掌握的知识点175
11.5.3 开发过程175
11.6 小结180
第12章　Socket网络编程181
12.1 BS模式与CS模式181
12.2 Winsock库的装入和释放181
12.3 使用sockaddrjn保存客户的地址181
12.3.1 主机字节序到网络字节序之间的转化182
12.3.2 示例——获取本机IP地址182
12.3.3 示例——域名解析183
12.4 TCP套接字的服务器与客户端设计184
12.4.1 ICP服务器与客户端过程图1 84
12.4.2 示例——简单的TCP服务器185
12.4.3 示例——简单的TCP客户端186
12.5 UDP套接字编程187
12.5.1 UDP服务器与客户端过程图188
12.5.2 示例——基于UDP的服务器实现188
12.5.3 示例——基于UDP的客户端实现189
12.6 套接字模式191
12.6.1 阻塞模式191
12.6.2 非阻塞模式191
12.7 select模型应甩——管理多个套接字19l
12.7.1 select函数的使用及相关宏191
12.7.2 示例——可以管理多个套接字的。TCP服务器192
12.8 WSAAsyncSelect模型应用——管理多个套接字194
12.8.1 WSAAsyncSelect的使用方法194
12.8.2 示例——可以管理多个套接字的TCP服务器195
12.9 广播通信198
12.9.1 设置套接字选项198
12.9.2 示例——广播的发送端与接收端198
12.10 应用案例一利用广播开发局域网聊天室200
12.10.1 案例效果图200
12.10.2 开发过程201
12.11 小结204
第13章　ADO数据库编程205
13.1 使用ADO开发程序205
13.1.1 使用ADO库之前的准备工作205
13.1.2 使用Connection对象连接数据库205
13.1.3 向数据库服务器提交SQL语句206
13.1.4 使用Recordset对象获取