本书分为九章,每章以一个独立的实例自成体系。每个例子都以不同的VC知识点为主要介绍对象。内容涉及VC的基本语法结构、各种窗体的使用、菜单设计等基础知识,并着重举例讲述VC在文件处理、文本处理、图像处理、多媒体处理、数据库应用、网络应用、硬件底层开发等方面的应用。主要技术设计多窗体数据传递、Windows API的调用、磁盘管理、图像高级开发、数据库ADO技术、网络Winsock、注册表管理、各种协议封装类等技术。本书结合现在数据库开发热点,分别介绍如何使用VC开发小型数据库系统、中大型数据库系统,充分展示了VC在数据库领域的使用。鉴于VC强大的硬件开发能力,本书专选一个实例讲解VC在该方面的应用。为了便于读者的理解,该实例选取最常用的输入输出设备进行讲解,并着重讲述注册表的硬件管理作用。
第1章 Visual C++概述
1.1 Visual C++概述
1.2 Windows编程模式
1.2.1 面向过程的MS-DOS编程
1.2.2 面向用户的事件驱动编程
1.2.3 Windows消息机制
1.2.4 Windows系统消息类型
1.3 MFC类库
1.3.1 MFC类库的优越性
1.3.2 MFC类库说明
1.3.3 MFC框架与消息映射
1.4 Windows应用程序框架
1.4.1 文档/视图结构概述
1.4.2 文档类
1.4.3 视图类
1.4.4 框架窗口
1.5 Visual C++ 6.0集成开发环境
1.5.1 菜单栏
1.5.2 工具栏
1.5.3 工作区窗口
1.5.4 正文窗口
1.5.5 输出窗口
1.6 本章小结
第2章 写字板
2.1 窗体设计
2.2 实现启动屏功能
2.2.1 添加启动屏CSplashWnd类
2.2.2 创建启动屏窗口
2.2.3 显示启动屏
2.2.4 绘制启动屏窗口区域
2.2.5 关闭启动屏
2.3 实现快捷工具栏
2.3.1 添加工具栏资源
2.3.2 工具栏的创建与显示
2.3.3 去除浮动工具栏中的系统菜单
2.3.4 排列多个工具栏
2.4 实现状态栏滚动住处民
2.4.1 使用标准状态栏
2.4.2 在状态栏中显示滚动文本
2.4.3 在状态栏中显示日期时间
2.5 实现全屏编辑功能
2.5.1 添加全屏控制工具栏
2.5.2 编辑菜单资源
2.5.3 添加菜单和按钮响应函灵敏
2.5.4 打开全屏编辑功能
2.5.5 关闭全屏编辑功能
2.6 本章小结
第3章 计算器
3.1 窗体设计
3.2 编辑资源
3.2.1 编辑对话框及控件资源
3.2.2 编辑菜单资源
3.3 实现高级按钮控件类
3.3.1 添加成员变量和成员函数
3.3.2 添加创建按钮控件代码
3.3.3 设置按钮形状. 外观. 颜色. 标题
3.4 实现高级编辑控件类
3.4.1 添加成员变量和成员函数
3.4.2 添加编辑控件代码
3.5 对话框界面设计
3.5.1 加载菜单资源
3.5.2 关联控件与对象
3.5.3 实现对话框扩展功能
3.5.4 屏蔽Enter键
3.6 数值计算功能的实现
3.7 本章小结
第4章 聊天系统--服务器端
4.1 窗体设计
4.1.1 建立应用程序框架
4.1.2 添加对话框控件
4.2 建立侦听套接字类
4.2.1 添加成员变量
4.2.2 添加成员函数
4.3 建立连接套接字类
4.3.1 添加成员变量
4.3.2 添加成员函数
4.4 实现网络服务功能
4.4.1 公共数据结构与通信协议
4.4.2 初始化主程序对话框
4.4.3 初始化服务器
4.4.4 建立侦听套接字
4.4.5 接受客户端连接
4.4.6 处理各种客户端请求
4.4.7 发送服务器系统消息
4.4.8 关闭服务器
4.5 实现其他本地功能
4.5.1 屏蔽Enter键功能
4.5.2 用户信息的加载与存档功能
4.5.3 查看用户信息
4.5.4 删除无用套接字
4.5.5 查看用户是否超时
4.6 本章小结
第5章 聊天系统--客户端
5.1 窗体设计
5.1.1 建立应用程序框架
5.1.2 编辑主对话框资源
5.1.3 编辑其他资源
5.2 实现高级按钮控件类
5.2.1 设置按钮的自绘制属性
5.2.2 响应鼠标的单击与移动操作
5.2.3 绘制对话框客户区域
5.3 实现高级列表控件类
5.3.1 设置列表控件元素序列
5.3.2 设置列表控件元素高度
5.3.3 设置父窗口
5.3.4 响应鼠标左键单击操作
5.3.5 响应鼠标移动操作
5.3.6 响应计时器消息
5.3.7 绘制列表框客户区
5.4 建立用户Dialog对话框类
5.4.1 添加成员变量
5.4.2 初始化对话框
5.4.3 绘制对话框背景
5.4.4 实现交互功能
5.5 建立用户注册对话框类
5.5.1 添加成员变量
5.5.2 初始化对话框
5.5.3 绘制对话框背景
5.5.4 实现交互功能
5.6 实现服务器设置对话框类
5.6.1 添加成员变量
5.6.2 初始化对话框
5.6.3 绘制对话框背景
5.6.4 实现交互功能
5.7 实现收发信息对话框类
5.7.1 添加成员变量
5.7.2 初始化对话框
5.7.3 绘制对话框背景
5.7.4 实现交互功能
5.8 建立套接字类
5.8.1 建立CClientSockets类
5.8.2 建立CChatSockets类
5.9 实现客户端功能
5.9.1 初始化实用程序
5.9.2 初始化主对话框窗口
5.9.3 连接服务器
5.9.4 接收和处理服务器信息
5.9.5 实现用户登陆功能
5.9.6 实现用户注册功能
5.9.7 实现直载与显增好友名单功能
5.9.8 实现发送信息功能
5.9.9 实现接收信息功能
5.9.10 实现用户资料修改功能
5.9.11 实现下线功能
5.9.12 实现服务器设置功能
5.9.13 实现快捷菜单
5.9.14 实现主对话框抽屉功能
5.10 本章小结
第6章 FTP搜索工具
6.1 窗体设计
6.1.1 建立应和程序框架
6.1.2 添加资源
6.2 实现属性页控件类
6.2.1 添加数据据构
6.2.2 添加属性页类
6.3 实现FTP站点搜索功能
6.3.1 添加站点搜索类
6.3.2 实现Ping命令
6.3.3 扫描主机端口
6.3.4 限制地址控件输入
6.3.5 添加FTP站点数据集
6.3.6 实现站点搜索功能
6.3.7 查看历史数据
6.4 实现FTP文件列表下载功能
6.4.1 添加文件列表下载类
6.4.2 实现连接FTP站点功能
6.4.3 添加文件列表数据集
6.4.4 实现连接数据库功能
6.4.5 实现文件列表查看功能
6.4.6 实现文件列表下载功能
6.5 实现文件搜索功能
6.5.1 添加文件搜索类
6.5.2 实现数据库连接功能
6.5.3 实现文件搜索功能
6.6 实现主对话框界面功能
6.7 本章小结
第7章 个人事务助理
7.1 窗体设计
7.1.1 建立应用程序框架
7.1.2 添加对话框条资源
7.1.3 建立ODBC数据源
7.2 实现高级按钮控件类
7.2.1 添加成员变量和成员函数
7.2.2 添加创建按钮控件代码
7.2.3 设置按钮形状. 外观. 颜色和标题
7.3 实现高级标签控件类
7.3.1 添加数据据构
7.3.2 添加属性页类
7.4 实现个人账务管理功能
7.4.1 添加账务数据集类
7.4.2 实现账务录入功能
7.4.3 实现账务查询功能
7.5 实现个人通信簿功能
7.5.1 添加通信数据集类
7.5.2 实现通信簿功能
7.6 实现个人事务助理工具
7.6.1 初始化主框架类
7.6.2 初始化视图类
7.6.3 操作界面的转换
7.7 本章小结
第8章 绘图工具
8.1 窗体设计
8.1.1 建立应用程序框架
8.1.2 添加资源
8.2 初始化应用程序框架
8.3 实现逻辑坐标类
8.4 实现命令基类及各种命令类
8.4.1 实现命令基类
8.4.2 实现直线绘制命令类
8.4.3 实现矩形绘制命令类
8.4.4 实现圆弧绘制命令类
8.4.5 实现平移操作命令类
8.4.6 实现旋转操作命令类
8.5 实现图元基类及各种图元类
8.5.1 实现图元基类
8.5.2 实现直线图元类
8.5.3 实现矩形图元类
8.5.4 实现圆弧图元类
8.6 实现图元绘制和操作功能
8.7 实现图元选取功能
8.8 窗口的重绘及文件的存取
8.8.1 窗口的重绘
8.8.2 文件的存取
8.9 本章小结
第9章 麻将游戏
9.1 窗体设计
9.1.1 建立应用程序框架
9.1.2 添加对话框资源
9.1.3 添加位图资源
9.2 界面相关功能的实现
9.2.1 实现盒子CBox类
9.2.2 实现坐标CPosition类
9.2.3 实现游戏CPlay类
9.2.4 实现界面CInterface类
9.3 网络相关功能的实现
9.3.1 实现消息CMsg类
9.3.2 实现连接套接字CClientSockets类
9.3.3 实现侦听套接字CServerSockets类
9.4 麻将游戏功能的实现
9.4.1 响应鼠标左键单击消息
9.4.2 响应鼠标移动消息
9.5 本章小结
第10章 代理服务器
10.1 窗体设计
10.1.1 应用程序框架的建立
10.1.2 添加控件资源
10.2 实现共享内存地
10.2.1 数据结构
10.2.2 初始化内存池
10.2.3 实现内存分配功能
10.2.4 实现内存释放功能
10.2.5 关闭内存池
10.3 实现代理服务功能
10.3.1 数据结构
10.3.2 启动服务器
10.3.3 分析用户请求
10.3.4 转发用户请求
10.3.5 获取目的数据
10.4 实现代理服务器
10.4.1 初始化服务器
10.4.2 启动服务器
10.4.3 关闭服务器
10.4.4 显示日志
10.5 本章小结
第11章 资源管理器
11.1 窗体设计
11.1.1 建立应用程序框架
11.1.2 添加控件资源
11.1.3 添加菜单资源
11.2 实现系统图标列表类
11.2.1 初始化图标链表
11.2.2 关闭图标链表
11.2.3 获取图标
11.3 实现高级树形控件类
11.3.1 初始化树形控件
11.3.2 节点的打开与关闭
11.3.3 获取指定节点的路径
11.3.4 获取指定路径的节点
11.3.5 打开指定路径节点
11.4 实现高级列表控件类
11.4.1 获取指定路径文件列表
11.4.2 创建快捷菜单
11.4.3 实现文件操作功能
11.5 实现资源管理器功能
11.5.1 初始化资源管理器
11.5.2 实现文件列表浏览功能
11.5.3 实现文件操作功能
11.5.4 实现地址转到功能
11.6 本章小结
第12章 媒体播放器
12.1 窗体设计
12.1.1 建立应用用程序框架
12.1.2 添加控件资源
12.2 实现音量控制类
12.3 实现Wav文件播放类
12.4 实现CD播放类
12.4.1 音频设备的打开和关闭
12.4.2 CD的播放, 停止和暂停
12.4.3 CD曲目信息的获取
12.4.4 CD曲目的前进. 后退和跳转
12.5 媒体播放器的实现
12.5.1 媒体播放器的初始化
12.5.2 实现CD播放功能
12.5.3 实现停止和暂停功能
12.5.4 实现后退和前进功能
12.5.5 播放Wav音频文件
12.5.6 实现音量的调节
12.6 本章小结
VisualC++6. 0是迄今为止, 功能最为强大的C什集成开发环境之一. 本书从实例开发的角度深入介绍了使用Visual C++及其MFC开发Windows应用程序的方法与技巧, 并将C++语言的面向对象的特征融入到具体的实例中, 使读者对面向对象的概念及面向对象的程序设计思想有更深入的理解.
本书采用图文并茂的方法, 对例程的制作过程进行了详尽的描述, 而且附以完整的实现代码及其代码注释. 全书共分为12章, 除了第1章概述外, 其余11章分别是11个精选案例的精解. 各章内容如下.
第1章主要介绍了Windows编程机制. MFC类库和Windows应用程序框架, 以及VisualC++6. 0集成开发环境的使用.
第2章通过写字板应用程序的实现, 介绍视图文档应用程序框架结构, 其中实现了全屏编辑效果.
第3章通过计算器应用程序的实现, 介绍对话框应用程序框架结构, 其中实现了高级按钮和高级编辑框的效果.
第4章通过聊天系统-冒g艮务器应用程序的实现, 介绍面向连接的可靠的TCP网络通信.
第5章通过聊天系统--客户端应用程序的实现, 介绍面向连接的可靠的TCP网络通信和面向无连接的不可靠的UDP网络通信, 其中实现了"抽屉"效果.
第6章通过FTP搜索工具应用程序的实现, 介绍Internet的FTP编程. 其中实现了基于IMCP协议的Ping命令和高级属性页控件.
第7章通过个人账务管理系统应用程序的实现, 介绍数据库编程.
第8章通过绘图工具应用程序的实现, 介绍图形相关编程. 其中大量运用了C++语言的面向对象的特征.
第9章通过麻将游戏应用程序的实现, 介绍图形图像编程和非对等网络游戏的建立, 其中实现了虚拟的三维坐标.
第10章通过代理服务器应用程序的实现, 介绍多线程编程及多线程的互斥与同步.
第11章通过资源管理器应用程序的实现, 介绍Windows文件系统的访问与操作.
第12章通过媒体播放器应用程序的实现, 介绍了DirectX的简单应用. 音量的调节. CD和WAV文件的播放.
本书内容丰富, 实例新颖, 可操作性强, 内容涉及TCP和UDP的Intranet编程, Internet编程, 数据库编程, 图形图像编程, 多线程编程, 磁盘文件管理及多媒体应用等方面. 本书几乎涵盖了Windows应用程序界面相关的所有元素, 并且实现了启动屏效果. 全屏编辑效果. 抽屉效果. 高级按钮控件. 高级列表控件等十分美观实用的界面效果.
本书所选例程的综合性强, 涉及知识广泛, 可操作性强, 均具有实际的使用价值. 既适合于有一定的C. C++语言基础, 并对Windows编程有一定了解的初学者快速提高, 又适合于已经对VisualC++有一定学习和了解的中级读者深入学习.
本书由张宏军. 党留群和赵天巨主持编写. 其中张宏军编写本书的第1章~第2章, 党留群编写第3章~第4章, 赵天巨编写第5章-第6章, 此外, 参加. 编写的人员还有马强. 喻波. 黄霆. 钟华. 高海峰. 王建胜. 张浩和邵蕴秋等. 由于编者水平有限, 且编写时间仓卒, 书中难免有疏漏和不足之处, 恳请广大读者批评指正, 我们的E-mail地址:qiyuqin@phei. com. cn.
为了最大限度地降低读者的购书成本, 方便读者学习, 本书中的素材可免费从网上下载.
网址:http://www.firstarcicl. com. cn
编 者
2004年12月