《21天学编程系列:21天学通VisualC++(第3版)》从初学者的角度较全面地介绍了VisualC++编程的相关知识,然而,《21天学编程系列:21天学通VisualC++(第3版)》并没有泛讲VisualC++语言的所有知识,而是突出重点,选择重要的内容进行讲解。全书共分为5篇,第1篇主要讲解VisualC++的基础知识,内容包括VisualC++6.0概述和Windows应用程序框架。第2篇重点分析VisualC++的可视化编程,主要包括常用控件、对话框、消息处理与ClassWizard使用、菜单、工具栏与状态栏。第3篇主要分析VisualC++的应用,包括图形、文本与字体、文档视图结构、文件、文档序列化与注册表操作、应用程序外观设计和面向对象程序设计基础。第4篇主要讲解VisualC++的开发,包括数据库编程、网络编程、线程同步与进程通信、动态链接库、ActiveX技术和VisualC++的调试技术。第5篇讲解如何应用VisualC++进行实际的综合案例开发。
《21天学编程系列:21天学通VisualC++(第3版)》分析了VisualC++的基础知识体系和开发应用,其中重点介绍了关于VisualC++的应用技巧。
与菜单类似,工具栏和状态栏也是图形界面的重要组成部分,其中,菜单和工具栏是提供给用户输入的命令界面。状态栏则提供一个输出界面,用来显示当前程序运行的状态和数据变化等。菜单的内容在第6章已经详细讲解过了,本章将介绍工具栏和状态栏。
以下是对读者在学习本章内容时所提出的几个基本要求,也是本章希望能够达到的目标读者在学习本章内容时可以作为参照。
了解工具栏使用的MFC类和常用函数。
掌握工具栏的创建方法。
掌握工具栏的显示/隐藏功能的实现。
了解状态栏使用的MFC类和常用函数。
掌握状态栏窗格的修改。
掌握在状态栏中显示鼠标坐标、时间和进度条功能的实现。
7.1工具栏介绍
工具栏是Windows应用程序中一个非常重要的图形界面元素,它提供了一组顺序排列的带有位图图标的按钮。通常,用户通过位图就可以知道这个按钮所要实现的功能。因此,操作工具栏比菜单更方便、快捷。在应用程序中,可以将常用的功能封装在工具栏中。工具栏是一个特殊的窗口对象,不仅可以停靠在主框架窗口的一边,还可以浮动在窗口中。
……
第1篇 Visual C++基础篇
第1章 Visual C++ 6.0概述
1.1 Visual C++ 6.0简介
1.1.1 Visual C++ 6.0的特点
1.1.2 Visual C++ 6.0的版本种类和硬件环境
1.2 Visual C++ 6.0集成开发环境概览
1.2.1 工作区
1.2.2 编辑区
1.2.3 输出窗口
1.3 Visual C++ 6.0集成开发环境菜单简介
1.4 Visual C++ 6.0的工具组件
1.4.1 C/C++编译器
1.4.2 资源编辑器和资源编译器
1.4.3 链接器和调试器
1.4.4 应用程序向导
1.4.5 类向导
1.4.6 资源浏览器
1.5 第一个Visual C++程序——“Hello World”
1.5.1 使用应用程序向导创建工程
1.5.2 添加并修改消息处理函数
1.5.3 编译、链接和运行
1.6 Visual C++ 6.0项目文件类型简介
1.7 小结
1.8 习题
第2章 Windows应用程序框架
2.1 基于Windows的应用程序设计
2.1.1 基于Windows的应用程序接口(API)
2.1.2 句柄的原理
2.1.3 Windows应用程序入口——WinMain()函数
2.1.4 消息及消息队列机制
2.2 MFC的基本概念及应用程序框架
2.2.1 MFC的基本概念
2.2.2 使用应用程序向导创建MFC应用程序框架
2.3 MFC应用程序框架详解
2.3.1 应用程序类
2.3.2 框架类
2.3.3 视图类和文档类
2.4 小结
2.5 习题
第2篇 可视化编程篇
第3章 常用控件
3.1 控件的基本概念
3.2 Visual C++ 6.0中的控件
3.2.1 静态文本控件
3.2.2 编辑框控件
3.2.3 按钮控件
3.2.4 列表框控件
3.2.5 组合框控件
3.2.6 滚动条控件
3.3 控件的应用
3.3.1 添加控件到应用程序界面中
3.3.2 多个控件的排列布局
3.4 控件应用实例
3.5 小结
3.6 习题
第4章 对话框
4.1 对话框概述
4.1.1 对话框的组成
4.1.2 对话框的种类
4.1.3 对话框的编辑器
4.1.4 对话框的属性
4.2 创建对话框
4.2.1 添加对话框资源
4.2.2 添加控件
4.2.3 使用类向导创建对话框类
4.2.4 使用类向导添加成员变量
4.2.5 添加消息处理函数
4.3 模态对话框和非模态对话框
4.3.1 构建主程序框架
4.3.2 创建非模态对话框
4.3.3 对话框的输入/输出——数据交换机制
4.3.4 创建模态对话框
4.4 小结
4.5 习题
第5章 消息处理与类向导的使用
5.1 消息的种类
5.1.1 来自键盘的消息
5.1.2 来自鼠标的消息
5.1.3 来自窗口的消息
5.1.4 来自焦点的消息
5.1.5 定时器消息
5.1.6 命令消息
5.2 使用消息机制的应用实例
5.3 类向导的使用
5.3.1 启动类向导
5.3.2 使用类向导添加消息处理函数
5.3.3 添加成员变量
5.3.4 添加新类
5.4 小结
5.5 习题
第6章 菜单
6.1 Windows的应用程序菜单概述
6.1.1 菜单的种类
6.1.2 使用Visual C++ 6.0生成的菜单
6.2 创建菜单的操作方法
6.2.1 添加菜单资源
6.2.2 利用菜单编辑器编辑菜单资源
6.2.3 将菜单添加到应用程序中
6.2.4 添加消息处理函数
6.3 菜单的程序设计
6.3.1 在程序中获取菜单信息
6.3.2 在程序中修改菜单状态
6.3.3 在程序中添加、删除、插入菜单或菜单项
6.4 快捷菜单——弹出式菜单
6.4.1 手动创建快捷菜单
6.4.2 使用组件创建快捷菜单
6.5 小结
6.6 习题
第7章 工具栏与状态栏
7.1 工具栏介绍
7.1.1 工具栏类——CToolBar
7.1.2 创建工具栏
7.1.3 使用工具栏编辑器设计工具栏按钮
7.2 创建工具栏
7.2.1 添加工具栏资源
7.2.2 设计工具栏按钮
7.2.3 将工具栏添加到应用程序
7.3 显示/隐藏工具栏
7.4 状态栏
7.4.1 状态栏介绍
7.4.2 状态栏类——CStatusBar
7.4.3 创建状态栏
7.5 修改状态栏
7.5.1 指示器数组
7.5.2 修改状态栏
7.6 小结
7.7 习题
第3篇 Visual C++应用篇
第8章 图形
8.1 图形设备接口的基本原理
8.2 设备描述表的概念及使用
8.2.1 设备描述表概述
8.2.2 获取设备描述表
8.3 Windows的图形设备接口类
8.4 GDI对象的创建
8.4.1 自定义画刷类(CBrush)
8.4.2 自定义画笔类(CPen)
8.5 画笔类的使用
8.5.1 使用画笔类对象进行画线
8.5.2 改进画线功能
8.6 画刷类的使用
8.6.1 使用带颜色的画刷对象
8.6.2 使用带位图的画刷对象
8.7 小结
8.8 习题
第9章 文本与字体
9.1 文本编程简介
9.1.1 文本编程的基本概念
9.1.2 使用GDI类自定义字体对象
9.2 字体的使用
9.2.1 实现简单文字处理
9.2.2 特殊字符的处理
9.2.3 具有颜色的文本应用实例
9.3 小结
9.4 习题
第10章 文档视图结构
10.1 文档视图结构概述
10.1.1 文档和视图的基本原理
10.1.2 基于文档视图结构的应用程序
10.1.3 基于文档视图结构的程序的组成部分
10.1.4 框架窗口
10.2 文档/视图类的关联函数
10.2.1 视图类中的获取文档函数——GetDocument()
10.2.2 文档视图类其他常用的关联函数
10.3 单文档视图结构的应用程序
10.3.1 单文档视图结构的应用程序概述
10.3.2 创建单文档视图应用程序
10.4 多文档视图结构的应用程序
10.4.1 多文档视图结构的应用程序概述
10.4.2 创建多文档视图应用程序
10.5 小结
10.6 习题
第11章 文件
11.1 文件的基本概念
11.1.1 文件与输入/输出流
11.1.2 文件的内容与种类
11.2 常见的文件操作
11.2.1 打开和关闭顺序文件
11.2.2 顺序文件的读/写操作
11.2.3 顺序文件读写操作应用实例
11.3 MFC中的CFile类
11.3.1 CFile类的成员函数详解
11.3.2 使用CFile类对象打开文件
11.3.3 使用CFile类对象读/写文件
11.3.4 使用CFile类对象关闭文件
11.4 文件输入/输出的实现实例
11.5 “打开”和“保存”对话框
11.5.1 创建“打开”对话框
11.5.2 创建“保存”对话框
11.6 小结
11.7 习题
第12章 文档序列化与注册表操作
12.1 什么是文档序列化
12.2 文档序列化的实例
12.2.1 实现简单绘图功能的实例
12.2.2 添加可序列化的类
12.2.3 重载Serialize()函数
12.2.4 加入宏
12.2.5 构造图形类CGraph
12.2.6 保存图形
12.2.7 完成绘图功能
12.2.8 以序列化方式保存图形
12.3 注册表的操作
12.3.1 注册表简介
12.3.2 注册表的结构
12.3.3 读/写注册表
12.4 小结
12.5 习题
第13章 应用程序界面设计
13.1 修改应用程序外观样式
13.1.1 在框架类中修改程序外观
13.1.2 在视图类中修改程序外观
13.2 制作动画效果的图标
13.3 设置背景图片
13.4 小结
13.5 习题
第14章 面向对象程序设计基础
14.1 面向对象技术概览
14.1.1 面向对象技术的基本概念和特点
14.1.2 面向对象程序设计语言的演化
14.2 类对象和类
14.2.1 类对象
14.2.2 类
14.3 对象的属性和方法
14.3.1 对象的属性
14.3.2 对象的方法
14.4 封装、继承和多态
14.4.1 封装
14.4.2 继承
14.4.3 多态
14.5 使用Visual C++6.0进行面向对象程序设计
14.5.1 类类型的定义
14.5.2 类的实例化使用
14.5.3 函数的多态形式——重载
14.5.4 类的构造函数
14.5.5 类的析构函数
14.5.6 指向当前对象的指针——this指针
14.5.7 类的继承
14.5.8 虚函数与多态性
14.6 小结
14.7 习题
第4篇 Visual C++开发篇
第15章 数据库应用程序开发
15.1 数据库基础理论简介
15.1.1 关系型数据库
15.1.2 数据库结构化查询语言
15.2 数据库访问技术介绍
15.2.1 使用Visual C++ 6.0开发数据库技术的特点
15.2.2 使用Visual C++ 6.0开发数据库的接口
15.3 使用ODBC进行数据库应用程序开发
15.3.1 ODBC技术概述
15.3.2 添加ODBC数据源
15.4 与ODBC兼容的MFC类
15.4.1 CDatabase类及其使用方法
15.4.2 CRecordSet类及其使用方法
15.4.3 CRecordView类
15.5 应用ODBC进行数据库应用编程
15.5.1 生成一个ODBC应用程序框架
15.5.2 数据库中的记录查询
15.5.3 为数据库增加记录
15.5.4 修改数据库记录
15.5.5 删除数据库记录
15.6 ADO简介
15.6.1 ADO技术概述
15.6.2 ADO中的对象
15.7 使用ADO进行数据库应用程序设计
15.7.1 导入ADO DLL
15.7.2 初始化ADO开发环境
15.7.3 使用ADO连接数据库
15.7.4 使用ADO函数执行数据库查询命令
15.7.5 访问数据库中的数据
15.7.6 操作数据
15.7.7 关闭数据库连接
15.8 应用ADO编程的实例
15.9 小结
15.10 习题
第16章 网络编程
16.1 一个简单的网络编程实例
16.2 Socket套接字及使用
16.2.1 Socket套接字概述
16.2.2 创建Socket套接字对象
16.2.3 使用套接字对象建立连接
16.2.4 发送数据和监听数据
16.2.5 数据接收
16.2.6 关闭套接字
16.3 基于Windows系统的套接字编程机制
16.3.1 Windows Sockets简介
16.3.2 WinSock编程原理及步骤
16.3.3 使用WinSock编程的实例
16.4 小结
16.5 习题
第17章 线程与进程程序设计
17.1 进程和线程的基本概念
17.2 MFC的线程处理机制
17.2.1 MFC线程处理机制概述
17.2.2 创建工作者线程
17.2.3 创建用户界面的线程
17.3 线程的同步
17.3.1 线程同步简介
17.3.2 线程同步的实现
17.4 进程之间的通信
17.4.1 剪贴板操作的常用函数
17.4.2 剪贴板操作的通信实例
17.5 小结
17.6 习题
第18章 动态链接库开发
18.1 一个简单的动态链接库实例
18.2 动态链接库详解
18.2.1 静态链接库与动态链接库
18.2.2 运行与查看动态链接库
18.3 Win32 DLL的创建和使用
18.4 MFC规则DLL的创建
18.4.1 MFC规则DLL简介
18.4.2 MFC规则的DLL创建
18.5 小结
18.6 习题
第19章 ActiveX应用程序设计
19.1 ActiveX技术简介
19.2 ActiveX控件详解
19.2.1 ActiveX控件与普通的Windows控件
19.2.2 ActiveX控件的属性
19.2.3 ActiveX控件的方法
19.2.4 ActiveX控件的事件
19.3 创建ActiveX控件
19.3.1 创建ActiveX控件应用程序外壳
19.3.2 添加OnDraw()函数代码
19.3.3 实现ActiveX控件与系统时间同步
19.4 ActiveX控件的高级应用
19.4.1 添加背景色属性
19.4.2 添加ActiveX的方法
19.4.3 添加ActiveX事件
19.5 小结
19.6 习题
第20章 Visual C++ 6.0的调试技术
20.1 Visual C++ 6.0的调试方法
20.1.1 错误种类
20.1.2 设置调试环境
20.1.3 设置调试断点
20.1.4 控制调试中的程序运行
20.2 使用调试信息查看工具
20.2.1 调试信息泡泡
20.2.2 变量窗口
20.2.3 观察窗口
20.2.4 快速查看变量窗口
20.3 高级调试技术
20.3.1 使用TRACE宏输出调试信息
20.3.2 使用断言输出错误信息
20.3.3 自建类的Dump()函数
20.3.4 检查内存泄漏
20.4 调试的应用实例
20.5 小结
20.6 习题
第5篇 案例篇
第21章 综合案例
21.1 系统功能概述
21.2 系统功能的具体实现
21.2.1 创建数据库
21.2.2 添加ODBC类型的数据源
21.2.3 创建应用程序工程
21.2.4 设计软件用户界面
21.3 实现成绩浏览功能的操作
21.3.1 添加成员变量
21.3.2 添加成员函数
21.3.3 添加函数程序代码
21.3.4 编译并运行
21.4 实现添加成绩的功能
21.5 实现删除成绩的功能
21.6 实现成绩查询的功能
21.7 小结