Windows程序设计教程(第2版) / 21世纪高等教育计算机规划教材
¥45.00定价
作者: 王秀梅,张志斌,岳建斌
出版时间:2013年8月
出版社:人民邮电出版社
- 人民邮电出版社
- 9787115323354
- 2
- 178318
- 平装
- 16开
- 2013年8月
- 563
- 334
内容简介
《21世纪高等教育计算机规划教材:Windows程序设计教程(第2版)》共分为16章,主要内容包括Windows编程概述,Windows应用程序的类封装,MFC应用程序框架,Windows绘图程序设计,文本和字体,消息,菜单、键盘和鼠标,子窗体控件,对话框,文档/视图结构的应用程序开发,动态链接库,VC数据库编程,多线程编程,串口通信编程以及Windows网络编程等内容。书中对开发过程中的一些开发技巧进行了展示,按照实际开发流程对实现功能进行详细讲解。
《21世纪高等教育计算机规划教材:Windows程序设计教程(第2版)》内容丰富、结构新颖、难度适中、实用性强,可作为普通高等院校Windows程序设计课程的教材,也可供Windows开发初学人员参考阅读。
《21世纪高等教育计算机规划教材:Windows程序设计教程(第2版)》内容丰富、结构新颖、难度适中、实用性强,可作为普通高等院校Windows程序设计课程的教材,也可供Windows开发初学人员参考阅读。
目录
第1章 Windows程序设计基础
1.1 Windows简介
1.1.1 Windows的发展历程
1.1.2 Windows的特点
1.2 操作系统的功能及分类
1.2.1 操作系统的功能
1.2.2 操作系统的分类
1.3 API与MFC
1.3.1 API简介
1.3.2 MFC简介
1.4 多任务的实现
1.4.1 多任务的概念
1.4.2 多任务的实现
1.5 虚拟内存及其管理
1.5.1 虚拟内存
1.5.2 虚拟内存管理
小结
习题
第2章 Windows编程概述
2.1 Windows的界面组成
2.2 Windows应用程序的数据类型
2.2.1 基本数据类型
2.2.2 特殊数据类型
2.3 Windows应用程序结构
2.3.1 WinMain函数
2.3.2 WndProc窗口函数
2.4 Windows编程实例
小结
习题
上机指导
实验一:熟悉Visual C++集成开发环境
实验二:创建一个Win32应用程序(1)
实验三:创建一个Win32应用程序(2)
第3章 Windows应用程序的面向对象
3.1 应用程序主函数中类的封装
3.1.1 窗口类的声明
3.1.2 应用程序类的声明
3.1.3 主函数封装后的程序
3.2 派生类
3.2.1 应用程序类的派生类
3.2.2 窗口类的派生类
小结
习题
上机指导
实验一:声明窗口类实例
实验二:声明应用程序类的派生类
实验三:创建一个完整程序
第4章 MFC应用程序框架
4.1 应用程序向导AppWizard
4.1.1 创建应用程序框架
4.1.2 编译运行应用程序
4.1.3 查看生成文件信息
4.2 使用项目工作区
4.3 MFC应用程序的基本类
4.3.1 CObject类
4.3.2 窗口、对话框、控件类
小结
习题
上机指导
实验一:创建基于单文档的应用程序TestOne
实验二:创建基于对话框的应用程序TestTwo
实验三:设计对话框资源TestThree
第5章 Windows绘图程序设计
5.1 图形设备接口
5.2 设备上下文
5.2.1 设备上下文介绍
5.2.2 设备上下文类型
5.2.3 设备上下文MFC类
5.2.4 设备上下文操作
5.3 GDI对象
5.4 绘图函数
5.4.1 点线函数
5.4.2 形状函数
5.4.3 填充函数
5.4.4 位图函数
5.5 画笔与画刷
5.5.1 使用库存画笔与画刷
5.5.2 自定义画笔
5.5.3 自定义画刷
小结
习题
上机指导
实验一:绘制一个矩形
实验二:填充矩形
实验三:与鼠标相关的图形
第6章 文本和字体
6.1 文本函数
6.1.1 使用TextOut显示文本
6.1.2 使用DrawText显示指定格式文本
6.1.3 使用ExtTextOut显示字符串
6.1.4 使用TabbedTextOut显示字符串
6.2 文本属性
6.2.1 对齐方式
6.2.2 字符间距
6.2.3 背景模式
6.2.4 文本颜色
6.2.5 背景颜色
6.2.6 字符属性
6.3 字体
6.3.1 使用库存字体
6.3.2 使用CreateFont创建字体
6.3.3 使用CreateFontIndirect创建字体
小结
习题
上机指导
实验一:输出颜色为红色的字体
实验二:使用库存字体输出文本,并测试字体的宽度和高度
实验三:使用自定义字体
第7章 消息
7.1 Windows消息
7.1.1 消息结构
7.1.2 消息分类
7.2 消息的传输
7.2.1 消息的寄送
7.2.2 消息的发送
7.3 消息处理
7.3.1 消息响应
7.3.2 消息映射
7.3.3 消息响应函数
7.3.4 添加消息响应函数
7.4 自定义消息
7.4.1 自定义消息的基本步骤
7.4.2 自定义消息应用
小结
习题
上机指导
实验一:查看消息映射
实验二:添加消息响应函数
实验三:添加自定义消息
第8章 菜单、键盘和鼠标
8.1 菜单
8.1.1 菜单基本知识
8.1.2 创建下拉式菜单
8.1.3 添加消息响应函数
8.1.4 弹出式菜单
8.2 键盘
8.2.1 键盘的虚拟码
8.2.2 键盘响应
8.3 鼠标
8.3.1 鼠标消息
8.3.2 鼠标响应
8.3.3 鼠标光标
8.3.4 鼠标键盘
小结
习题
上机指导
实验一:创建下拉式菜单
实验二:识别键盘按键
实验三:键盘与鼠标的结合
第9章 子窗体控件
9.1 Windows标准控件
9.1.1 控件概述
9.1.2 窗口类CWnd
9.2 创建控件
9.2.1 静态创建控件
9.2.2 动态创建控件
9.3 按钮控件
9.3.1 单选按钮
9.3.2 复选框
9.4 编辑控件
9.5 树形控件
9.5.1 树形控件概述
9.5.2 树形控件的使用
小结
习题
上机指导
实验一:熟悉标准控件
实验二:使用树形控件
实验三:列表控件
第10章 对话框
10.1 对话框的基础知识
10.1.1 对话框概述
10.1.2 对话框分类
10.2 消息对话框
10.2.1 消息对话框概述
10.2.2 消息对话框样式
10.2.3 消息对话框的返回值
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.5 通用对话框
10.5.1 颜色通用对话框
10.5.2 字体通用对话框
10.5.3 定制打开文件通用对话框
10.5.4 查找和替换通用对话框
10.5.5 打印通用对话框
小结
习题
上机指导
实验一:熟悉消息对话框
实验二:加法运算
实验三:创建非模态对话框
第11章 文档/视图界面
11.1 基本概念
11.1.1 概述
11.1.2 单文档界面(SDI)应用程序
11.1.3 多文档界面(MDI)应用程序
11.2 单文档和多文档界面应用程序的实现
11.2.1 利用AppWizard创建单文档界面应用程序框架
11.2.2 程序框架中的主要类及相互关系
11.2.3 文档类、视图类核心函数及作用
11.2.4 新建、保存和打开的实现
11.2.5 多文档界面应用程序框架
11.3 窗口分割与多视
11.3.1 窗口分割基础知识
11.3.2 Create——创建分割窗口
11.3.3 CreateStatic——创建静态分割窗口
11.3.4 CreateView——创建窗格
11.3.5 SetRowInfo和SetColumnInfo——设置窗格信息
11.3.6 OnDrawSplitter——绘制分割窗口特征
11.3.7 OnInvertTracker——绘制分割条
小结
习题
上机指导
实验一:熟悉单文档界面应用程序
实验二:动态分割窗口
实验三:静态分割窗口
第12章 MFC动态链接库
12.1 DLL基本理论
12.1.1 DLL基本概念
12.1.2 DLL的分类
12.1.3 DLL的工作原理
12.2 简单DLL示例
12.2.1 一个简单的DLL
12.2.2 导出函数
12.2.3 导入函数
12.3 访问动态链接库
12.3.1 隐式链接
12.3.2 显式链接
12.4 常规DLL
12.4.1 静态链接到MFC的常规DLL
12.4.2 动态链接到MFC的常规DLL
12.4.3 DLL的链接使用
12.5 扩展DLL
12.5.1 生成DLL
12.5.2 链接DLL
小结
习题
上机指导
实验一:创建一个简单的DLL
实验二:显式链接
第13章 VC数据库编程
13.1 数据库基础
13.1.1 数据库的基本概念
13.1.2 数据库管理系统(DBMS)
13.1.3 结构化查询语言(SQL)
13.2 数据库开发技术简介
13.2.1 ODBC API/MFC ODBC技术
13.2.2 DAO技术
13.2.3 ADO技术
13.3 在Visual C++中使用ADO 开发数据库应用程序
13.3.1 Viusal C++对ADO的支持
13.3.2 创建数据库与实例工程
13.3.3 引入ADO对象
13.3.4 连接数据源
13.3.5 开发技术——连接对象(Connection)
13.3.6 创建表并添加数据
13.3.7 开发技术——ADO对象命令的执行
13.3.8 开发技术——Recordset对象
13.3.9 遍历、删除、编辑记录的实现
13.4 使用ODBC数据源连接数据库
13.4.1 手动实现设置ODBC数据源
13.4.2 ADO连接ODBC数据源
13.4.3 Visual C++程序实现设置ODBC数据源
13.4.4 使用Visual C++程序设置ODBC数据源实例
小结
习题
上机指导
实验一:登录对话框
实验二:手动设置ODBC数据源
实验三:修改记录
第14章 多线程
14.1 多线程基础
14.1.1 进程与线程
14.1.2 线程分类
14.2 多线程编程
14.2.1 Win32 API线程处理
14.2.2 工作者线程
14.2.3 用户界面线程
14.3 线程的终止
14.3.1 线程的正常终止
14.3.2 线程的异常终止
14.4 线程的优先级与管理
14.4.1 线程的优先级
14.4.2 线程的优先级管理
14.4.3 线程的调度
14.5 线程之间的通信
14.5.1 通信机制
14.5.2 工作者线程通信
14.5.3 用户界面线程通信
14.6 线程的同步
14.6.1 同步对象
14.6.2 使用事件对象
14.6.3 使用互斥对象
14.6.4 使用临界区对象
14.6.5 使用信号量对象
小结
习题
上机指导
实验一:工作者线程的设计和实现
实验二:线程同步对象使用
实验三:线程间自定义消息方式通信的设计与实现
第15章 串行通信原理与设计
15.1 串行通信的基本概念
15.1.1 串行通信的特点
15.1.2 串行通信的传输方式
15.1.3 数据纠错与检错
15.1.4 传输速率与距离
15.2 串行传输协议
15.2.1 异步传输协议
15.2.2 面向字符的同步传输协议
15.2.3 面向比特的同步传输协议
15.3 使用Windows API进行同步串口编程
15.3.1 概述
15.3.2 创建串口
15.3.3 关闭串口
15.3.4 发送数据
15.3.5 接收数据
15.3.6 定时接收数据的方法
15.4 采用重叠I/O方式的编程方法
15.4.1 定义全局变量
15.4.2 创建串口
15.4.3 发出读写操作
15.4.4 读写线程函数的建立
15.4.5 关闭串口
15.5 采用事件驱动方式的编程方法
15.5.1 定义全局变量
15.5.2 打开串口及开启事件线程
15.5.3 发送数据
15.5.4 自定义消息函数读取数据
15.5.5 关闭串口及关闭事件线程
小结
习题
上机实验
实验一:同步串口编程
实验二:重叠方式的串口编程
实验三:事件驱动方式的串口编程
第16章 Windows网络编程基础
16.1 网络基础知识
16.1.1 OSI七层网络模型
16.1.2 TCP/IP协议
16.1.3 C/S编程模型
16.2 网络编程基础
16.2.1 Sockets套接字
16.2.2 网络字节顺序
16.3 Windows Sockets介绍
16.3.1 CAsyncSocket类
16.3.2 CSocket类
16.4 网络程序实例应用
16.4.1 Winsock编程流程
16.4.2 TCP客户端程序
16.4.3 TCP服务器程序
小结
习题
上机指导
实验一:设计客户端和服务器端的界面
实验二:初始化客户端和服务器端
实验三:信息的发送和接收
1.1 Windows简介
1.1.1 Windows的发展历程
1.1.2 Windows的特点
1.2 操作系统的功能及分类
1.2.1 操作系统的功能
1.2.2 操作系统的分类
1.3 API与MFC
1.3.1 API简介
1.3.2 MFC简介
1.4 多任务的实现
1.4.1 多任务的概念
1.4.2 多任务的实现
1.5 虚拟内存及其管理
1.5.1 虚拟内存
1.5.2 虚拟内存管理
小结
习题
第2章 Windows编程概述
2.1 Windows的界面组成
2.2 Windows应用程序的数据类型
2.2.1 基本数据类型
2.2.2 特殊数据类型
2.3 Windows应用程序结构
2.3.1 WinMain函数
2.3.2 WndProc窗口函数
2.4 Windows编程实例
小结
习题
上机指导
实验一:熟悉Visual C++集成开发环境
实验二:创建一个Win32应用程序(1)
实验三:创建一个Win32应用程序(2)
第3章 Windows应用程序的面向对象
3.1 应用程序主函数中类的封装
3.1.1 窗口类的声明
3.1.2 应用程序类的声明
3.1.3 主函数封装后的程序
3.2 派生类
3.2.1 应用程序类的派生类
3.2.2 窗口类的派生类
小结
习题
上机指导
实验一:声明窗口类实例
实验二:声明应用程序类的派生类
实验三:创建一个完整程序
第4章 MFC应用程序框架
4.1 应用程序向导AppWizard
4.1.1 创建应用程序框架
4.1.2 编译运行应用程序
4.1.3 查看生成文件信息
4.2 使用项目工作区
4.3 MFC应用程序的基本类
4.3.1 CObject类
4.3.2 窗口、对话框、控件类
小结
习题
上机指导
实验一:创建基于单文档的应用程序TestOne
实验二:创建基于对话框的应用程序TestTwo
实验三:设计对话框资源TestThree
第5章 Windows绘图程序设计
5.1 图形设备接口
5.2 设备上下文
5.2.1 设备上下文介绍
5.2.2 设备上下文类型
5.2.3 设备上下文MFC类
5.2.4 设备上下文操作
5.3 GDI对象
5.4 绘图函数
5.4.1 点线函数
5.4.2 形状函数
5.4.3 填充函数
5.4.4 位图函数
5.5 画笔与画刷
5.5.1 使用库存画笔与画刷
5.5.2 自定义画笔
5.5.3 自定义画刷
小结
习题
上机指导
实验一:绘制一个矩形
实验二:填充矩形
实验三:与鼠标相关的图形
第6章 文本和字体
6.1 文本函数
6.1.1 使用TextOut显示文本
6.1.2 使用DrawText显示指定格式文本
6.1.3 使用ExtTextOut显示字符串
6.1.4 使用TabbedTextOut显示字符串
6.2 文本属性
6.2.1 对齐方式
6.2.2 字符间距
6.2.3 背景模式
6.2.4 文本颜色
6.2.5 背景颜色
6.2.6 字符属性
6.3 字体
6.3.1 使用库存字体
6.3.2 使用CreateFont创建字体
6.3.3 使用CreateFontIndirect创建字体
小结
习题
上机指导
实验一:输出颜色为红色的字体
实验二:使用库存字体输出文本,并测试字体的宽度和高度
实验三:使用自定义字体
第7章 消息
7.1 Windows消息
7.1.1 消息结构
7.1.2 消息分类
7.2 消息的传输
7.2.1 消息的寄送
7.2.2 消息的发送
7.3 消息处理
7.3.1 消息响应
7.3.2 消息映射
7.3.3 消息响应函数
7.3.4 添加消息响应函数
7.4 自定义消息
7.4.1 自定义消息的基本步骤
7.4.2 自定义消息应用
小结
习题
上机指导
实验一:查看消息映射
实验二:添加消息响应函数
实验三:添加自定义消息
第8章 菜单、键盘和鼠标
8.1 菜单
8.1.1 菜单基本知识
8.1.2 创建下拉式菜单
8.1.3 添加消息响应函数
8.1.4 弹出式菜单
8.2 键盘
8.2.1 键盘的虚拟码
8.2.2 键盘响应
8.3 鼠标
8.3.1 鼠标消息
8.3.2 鼠标响应
8.3.3 鼠标光标
8.3.4 鼠标键盘
小结
习题
上机指导
实验一:创建下拉式菜单
实验二:识别键盘按键
实验三:键盘与鼠标的结合
第9章 子窗体控件
9.1 Windows标准控件
9.1.1 控件概述
9.1.2 窗口类CWnd
9.2 创建控件
9.2.1 静态创建控件
9.2.2 动态创建控件
9.3 按钮控件
9.3.1 单选按钮
9.3.2 复选框
9.4 编辑控件
9.5 树形控件
9.5.1 树形控件概述
9.5.2 树形控件的使用
小结
习题
上机指导
实验一:熟悉标准控件
实验二:使用树形控件
实验三:列表控件
第10章 对话框
10.1 对话框的基础知识
10.1.1 对话框概述
10.1.2 对话框分类
10.2 消息对话框
10.2.1 消息对话框概述
10.2.2 消息对话框样式
10.2.3 消息对话框的返回值
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.5 通用对话框
10.5.1 颜色通用对话框
10.5.2 字体通用对话框
10.5.3 定制打开文件通用对话框
10.5.4 查找和替换通用对话框
10.5.5 打印通用对话框
小结
习题
上机指导
实验一:熟悉消息对话框
实验二:加法运算
实验三:创建非模态对话框
第11章 文档/视图界面
11.1 基本概念
11.1.1 概述
11.1.2 单文档界面(SDI)应用程序
11.1.3 多文档界面(MDI)应用程序
11.2 单文档和多文档界面应用程序的实现
11.2.1 利用AppWizard创建单文档界面应用程序框架
11.2.2 程序框架中的主要类及相互关系
11.2.3 文档类、视图类核心函数及作用
11.2.4 新建、保存和打开的实现
11.2.5 多文档界面应用程序框架
11.3 窗口分割与多视
11.3.1 窗口分割基础知识
11.3.2 Create——创建分割窗口
11.3.3 CreateStatic——创建静态分割窗口
11.3.4 CreateView——创建窗格
11.3.5 SetRowInfo和SetColumnInfo——设置窗格信息
11.3.6 OnDrawSplitter——绘制分割窗口特征
11.3.7 OnInvertTracker——绘制分割条
小结
习题
上机指导
实验一:熟悉单文档界面应用程序
实验二:动态分割窗口
实验三:静态分割窗口
第12章 MFC动态链接库
12.1 DLL基本理论
12.1.1 DLL基本概念
12.1.2 DLL的分类
12.1.3 DLL的工作原理
12.2 简单DLL示例
12.2.1 一个简单的DLL
12.2.2 导出函数
12.2.3 导入函数
12.3 访问动态链接库
12.3.1 隐式链接
12.3.2 显式链接
12.4 常规DLL
12.4.1 静态链接到MFC的常规DLL
12.4.2 动态链接到MFC的常规DLL
12.4.3 DLL的链接使用
12.5 扩展DLL
12.5.1 生成DLL
12.5.2 链接DLL
小结
习题
上机指导
实验一:创建一个简单的DLL
实验二:显式链接
第13章 VC数据库编程
13.1 数据库基础
13.1.1 数据库的基本概念
13.1.2 数据库管理系统(DBMS)
13.1.3 结构化查询语言(SQL)
13.2 数据库开发技术简介
13.2.1 ODBC API/MFC ODBC技术
13.2.2 DAO技术
13.2.3 ADO技术
13.3 在Visual C++中使用ADO 开发数据库应用程序
13.3.1 Viusal C++对ADO的支持
13.3.2 创建数据库与实例工程
13.3.3 引入ADO对象
13.3.4 连接数据源
13.3.5 开发技术——连接对象(Connection)
13.3.6 创建表并添加数据
13.3.7 开发技术——ADO对象命令的执行
13.3.8 开发技术——Recordset对象
13.3.9 遍历、删除、编辑记录的实现
13.4 使用ODBC数据源连接数据库
13.4.1 手动实现设置ODBC数据源
13.4.2 ADO连接ODBC数据源
13.4.3 Visual C++程序实现设置ODBC数据源
13.4.4 使用Visual C++程序设置ODBC数据源实例
小结
习题
上机指导
实验一:登录对话框
实验二:手动设置ODBC数据源
实验三:修改记录
第14章 多线程
14.1 多线程基础
14.1.1 进程与线程
14.1.2 线程分类
14.2 多线程编程
14.2.1 Win32 API线程处理
14.2.2 工作者线程
14.2.3 用户界面线程
14.3 线程的终止
14.3.1 线程的正常终止
14.3.2 线程的异常终止
14.4 线程的优先级与管理
14.4.1 线程的优先级
14.4.2 线程的优先级管理
14.4.3 线程的调度
14.5 线程之间的通信
14.5.1 通信机制
14.5.2 工作者线程通信
14.5.3 用户界面线程通信
14.6 线程的同步
14.6.1 同步对象
14.6.2 使用事件对象
14.6.3 使用互斥对象
14.6.4 使用临界区对象
14.6.5 使用信号量对象
小结
习题
上机指导
实验一:工作者线程的设计和实现
实验二:线程同步对象使用
实验三:线程间自定义消息方式通信的设计与实现
第15章 串行通信原理与设计
15.1 串行通信的基本概念
15.1.1 串行通信的特点
15.1.2 串行通信的传输方式
15.1.3 数据纠错与检错
15.1.4 传输速率与距离
15.2 串行传输协议
15.2.1 异步传输协议
15.2.2 面向字符的同步传输协议
15.2.3 面向比特的同步传输协议
15.3 使用Windows API进行同步串口编程
15.3.1 概述
15.3.2 创建串口
15.3.3 关闭串口
15.3.4 发送数据
15.3.5 接收数据
15.3.6 定时接收数据的方法
15.4 采用重叠I/O方式的编程方法
15.4.1 定义全局变量
15.4.2 创建串口
15.4.3 发出读写操作
15.4.4 读写线程函数的建立
15.4.5 关闭串口
15.5 采用事件驱动方式的编程方法
15.5.1 定义全局变量
15.5.2 打开串口及开启事件线程
15.5.3 发送数据
15.5.4 自定义消息函数读取数据
15.5.5 关闭串口及关闭事件线程
小结
习题
上机实验
实验一:同步串口编程
实验二:重叠方式的串口编程
实验三:事件驱动方式的串口编程
第16章 Windows网络编程基础
16.1 网络基础知识
16.1.1 OSI七层网络模型
16.1.2 TCP/IP协议
16.1.3 C/S编程模型
16.2 网络编程基础
16.2.1 Sockets套接字
16.2.2 网络字节顺序
16.3 Windows Sockets介绍
16.3.1 CAsyncSocket类
16.3.2 CSocket类
16.4 网络程序实例应用
16.4.1 Winsock编程流程
16.4.2 TCP客户端程序
16.4.3 TCP服务器程序
小结
习题
上机指导
实验一:设计客户端和服务器端的界面
实验二:初始化客户端和服务器端
实验三:信息的发送和接收