本书主要包括C 与面向对象、MFC应用程序、Windows Form应用程序等部分。C 与面向对象部分系统地介绍了基本C 语法和融入面向对象概念后的C 语言; MFC应用程序详细介绍了MFC编程基础知识、资源与对话框、控件、菜单与工具栏、文档与视图、图形与文本、数据库等内容; Windows Form应用程序部分从实例出发,主要介绍Windows Form基础知识、Windows Form控件及Windows Form环境下的绘图。理论内容后有与之配套的习题和上机实验指导,用以加深和巩固对理论内容的理解。
本书图文并茂,语言精练,例题典型,实用性、趣味性强,可作为大学本科、高职高专相关课程的教材,也可供广大Visual C 爱好者自学。另外,本书有配套的例题源代码和电子课件,供广大读者免费下载。
1. 开发环境人性化,开发操作简洁、方便,全中文版界面。2. 加入Windows Form应用程序部分。此部分采用C /CLI语法,在.Net Framework 4.0支持下工作,与其他面向对象编程环境相一致,上手快,开发速度也快。3. 保留MFC中常用的重点内容。用简洁明了的表现形式和典型例题来安排相对较多的教学内容,不求全面。简明易懂地把学生领入VC 的美妙殿堂,兴趣盎然,意犹未尽才是我们的目标。
前言
随着.NET技术的迅猛发展,图形用户界面应用程序被注入了新鲜血液Windows Form应用程序,Visual C 程序设计作为讲述用C 语言对图形用户界面应用程序进行设计的课程,其内容对此也应有所体现。本教材顺应时代发展的需求,在精简传统Visual C 程序设计课程内容的基础上,加入了Windows Form应用程序设计的内容。本书理论知识分为C 与面向对象、MFC应用程序、Windows Form应用程序三大部分。第一部分分为两章,分别讲述C 语言基本语法和面向对象的C 语言。第1章C 基本语法部分主要讲述数据的输入输出、函数参数、函数重载、引用、内存动态分配等内容。第2章面向对象的C 部分,对类、对象、成员函数、类的继承与派生、重载与虚函数等面向对象概念的理解和使用进行了详细介绍。第二部分是MFC应用程序设计部分。微软基础类库(Microsoft Foundation Classes,MFC)是微软公司实现的一个C 类库,主要封装了大部分的Windows API函数。用这些C 类设计的应用程序就称为MFC应用程序。这部分内容分为7章来讲述。第3章MFC编程基础,主要介绍MFC编程所要用到的基础知识,包括编程环境的使用、编程的一般步骤、类库中常用类及其相互关系、这些类的使用方法、Windows消息映射机制、MFC应用程序文件的类型等内容。第4章资源与对话框,给出资源的概念并从资源的角度阐释对话框的本质及设计、使用方法。第5章控件和第6章菜单、工具栏和状态栏,分别讲述了窗体上各种界面元素的设计和使用方法。第7章文档与视图,讲述文档类和视图类的使用,并通过它们的交互,实现抽象数据到可视信息的转化,进而实现一档多视的能力。第8章文本与图形,从绘图的角度讲述文本与图形绘制应用程序的设计方法。第9章数据库编程,讲述了几个与数据库相关的类,并通过这些类实现了与数据库管理系统的数据交互。第三部分是Windows Form应用程序设计部分。Windows Form应用程序是在.NET Framework上建立的Windows窗体应用程序。.NET引入了许多新理念,如跨语言、跨平台,提出并实现了许多新技术,如托管等。为此,.NET设计了两个关键组件CLR (Common Language Runtime,公共语言运行时)和BCL (Basic Class Library,基础类库),BCL中包括了大量用于应用程序开发的类。本书第10章 Windows Form 编程基础,简要介绍了设计Windows Form应用程序所要用到的基础知识,并用一个实例,详细演示了Windows Form应用程序的开发过程以及开发环境的使用方法。第11章 Windows Form控件与对话框,主要讲述各种常用控件,包括可视的按钮、标签、文本框控件和不可视的计时器控件等。相比较于MFC应用程序,Windows Form应用程序中控件的能力要强大很多。 第12章 Windows Form图形绘制初步,简要介绍在Windows Form应用程序中进行图形和文本绘制的方法,并以时钟应用程序为例,详细演示了Windows Form图形绘制应用程序设计制作的全过程。本书从实例出发,合理安排知识结构,由浅入深,循序渐进。在讲解每个知识点时都配有精心设计的案例,这些案例多具有一定的趣味性和实用性,图文并茂,条理清晰,通俗易懂。编程时,新添加的代码采用灰色背景,与原有代码区别明显,方便读者理解和上机检验。此外,本书还配有电子课件,以满足广大教师教学的需要。为加深对理论知识的理解和掌握,本书还安排了第四部分 习题和第五部分 实验。实验部分的实验内容经过精选,实验步骤详尽,思考题发人深省; 书中习题的答案、例题和实验源代码均可以到出版社指定的网站下载。本书由黄永才任主编,金韬、刘伟杰、李牧、刘立君任副主编。参加编写的人员有夏红刚、王晖、刘天惠、李华等,其中刘天惠还负责了全书的审阅工作。另外在编写过程中,徐刚、衣春林二人对本书中例题和实验内容的设计均提供了大量宝贵建议,在此一并表示感谢。由于时间仓促及作者水平有限,书中疏漏之处在所难免,欢迎广大读者批评指正。
编者2016年11月
目录
Visual C 程序设计
第一部分C 与面向对象
第1章C 基础
1.1从C到C
1.1.1面向过程的C语言
1.1.2面向对象的C 语言
1.1.3C 对C语言的改进
1.1.4Visual C 和Visual
Studio
1.2一个简单的Win32控制台应用程序
1.2.1创建简单的Win32控制台应用程序
1.2.2Win32控制台应用程序的入口函数
1.2.3预处理命令
1.2.4Win32控制台应用程序的命名空间
1.3C 对C语言的扩充
1.3.1注释语句
1.3.2C 的输入输出
1.3.3变量的存储类型
1.3.4函数的默认参数
1.3.5函数重载
1.3.6内联函数
1.3.7引用和引用传递
1.3.8用const定义常变量
1.3.9字符串变量
1.3.10内存动态分配与撤销运算符new和delete
1.3.11命名空间
第2章面向对象的C
2.1面向对象概述
2.1.1面向对象的概念
2.1.2类的特性
2.2类与对象
2.2.1类的声明和对象的定义
2.2.2类的成员函数
2.2.3对象的使用以及对成员的访问
2.2.4构造函数与析构函数
2.2.5const对象和const成员函数
2.2.6对象的动态建立和释放
2.2.7this指针
2.2.8友元函数和友元类
2.2.9类的静态成员和静态成员函数
2.3继承与派生
2.3.1继承的概念及意义
2.3.2派生类的定义
2.3.3派生类成员的访问权限
2.3.4派生类的构造函数和析构函数
2.3.5多继承
2.4多态性
2.4.1多态性的概念
2.4.2运算符重载
2.4.3虚函数与纯虚函数
第二部分MFC应用程序
第3章MFC编程基础
3.1应用程序向导生成MFC应用程序
3.1.1Visual C 2010集成开发环境
3.1.2应用程序向导生成MFC应用程序
3.1.3项目的文件组织
3.1.4应用程序向导生成基于对话框的应用程序案例
3.2MFC类
3.2.1MFC类结构
3.2.2添加成员变量与成员函数
3.2.3MFC类向导
3.2.4类的添加与删除
3.2.5MFC类案例
3.2.6对话框的数据交换机制
3.3消息和消息映射
3.3.1消息及消息的分类
3.3.2MFC常用消息及其消息映射函数
3.3.3消息映射
3.3.4消息映射案例
第4章资源与对话框
4.1资源
4.1.1资源的分类
4.1.2创建资源
4.2创建对话框
4.2.1创建新的对话框模板
4.2.2设置对话框属性
4.2.3创建对话框类
4.2.4调用显示对话框
4.2.5对话框案例
4.3消息对话框
4.3.1MessageBox()函数
4.3.2AfxMessageBox()函数
4.3.3消息对话框案例
第5章控件
5.1控件的添加与布局设计
5.1.1工具箱
5.1.2添加和删除控件
5.1.3属性
5.1.4事件
5.1.5控件布局
5.2静态控件
5.2.1静态文本控件
5.2.2组框控件
5.2.3图片控件
5.3编辑框
5.3.1编辑框的常用属性和消息
5.3.2常用的成员函数
5.3.3编辑框和静态文本案例
5.4按钮控件
5.4.1常用属性和消息
5.4.2按钮类的主要成员函数
5.4.3按钮和组框控件案例
5.5列表框控件
5.5.1常用属性和消息
5.5.2列表框类的主要成员函数
5.6组合框控件
5.6.1常用属性和消息
5.6.2组合框类的主要成员函数
5.6.3列表框和组合框控件案例
5.7滚动条控件
5.7.1滚动条控件的种类
5.7.2滚动条类的主要成员函数
5.8进度条
5.8.1进度条的属性
5.8.2进度条类的主要成员函数
5.9滑动条
5.9.1滑动条控件的属性
5.9.2滑动条类的主要成员函数
5.9.3滑动条和进度条控件案例
第6章菜单、工具栏和状态栏
6.1菜单
6.1.1菜单设计
6.1.2给菜单项添加消息处理
6.1.3动态添加菜单
6.1.4菜单案例
6.1.5弹出式菜单
6.1.6弹出式菜单案例
6.2工具栏
6.2.1工具栏编辑器
6.2.2工具栏案例
6.3状态栏
6.3.1状态栏的定义
6.3.2状态栏的常用操作
6.3.3状态栏案例
第7章文档与视图
7.1文档应用程序中的字符串资源
7.2文档序列化
7.2.1序列化概述
7.2.2CArchive类和序列化操作
7.2.3文档序列化案例
7.3一般视图框架
7.3.1CEditView
7.3.2CFormView
7.3.3CScrollView
7.4列表视图框架
7.4.1列表视图的样式
7.4.2列表项的基本操作
7.4.3列表控件的消息
7.4.4列表视图控件案例
7.5文档视图结构
7.5.1文档与视图的相互作用
7.5.2应用程序对象指针的互调
7.5.3一档多视
7.5.4一档多视案例1静态切分窗口
7.5.5一档多视案例2动态切分窗口
第8章文本与图形
8.1图形绘制基础
8.1.1一个简单的图形绘制案例
8.1.2坐标与映射模式
8.1.3简单数据类CPoint、CSize和CRect
8.1.4MFC中的颜色
8.1.5MFC中颜色应用案例
8.1.6OnDraw函数
8.2设备环境类
8.2.1CDC类
8.2.2用CDC类的成员函数绘图
8.3图形设备接口
8.3.1GDI及其使用方法
8.3.2画笔
8.3.3画笔应用案例
8.3.4画刷
8.3.5画刷应用案例
8.4绘制文本
8.4.1CDC类的文本输出函数
8.4.2字体的基本类型、字体类与字体对话框
8.4.3字符的几何尺寸
8.4.4文本显示案例
第9章数据库编程
9.1MFC中的ODBC类
9.1.1CDatabase类
9.1.2CRecordset类
9.1.3CRecordView类
9.2创建ODBC数据库应用程序
9.2.1创建MFC ODBC应用程序一般过程
9.2.2构造数据库
9.2.3创建ODBC数据源
9.2.4数据库应用案例
9.2.5设计操作界面
9.2.6数据的查询、添加和删除
9.2.7排序与筛选
第三部分Windows Form应用程序
第10章Windows Form编程基础
10.1一个简单的Windows Form应用程序
10.1.1Hello应用程序
10.1.2新建Windows 窗体应用程序
10.1.3向窗体添加控件
10.1.4属性设置与界面布局
10.1.5编写代码
10.1.6第一次生成并执行窗体应用程序
10.1.7重新修改标签控件的属性
10.1.8最终的Hello应用程序
10.2Windows Form 基础
10.2.1.NET与Windows Form概述
10.2.2托管
10.2.3.NET类库中的常用命名空间与常用类
10.2.4C /CLI的基本数据类型
10.2.5引用类型、跟踪句柄及托管对象的使用
10.2.6字符串
10.2.7数组
10.2.8自定义引用类型类
10.2.9事件及事件处理程序
10.2.10几个常用类和常用结构
10.3Windows Form编程常用操作
10.3.1Windows Form编程环境简介
10.3.2成员函数和成员变量的添加与删除
10.3.3事件处理程序的创建与删除
10.3.4如何获得帮助
第11章Windows Form控件与对话框
11.1控件
11.1.1标签与图片
11.1.2按钮
11.1.3文本框和富文本框
11.1.4标签、按钮及文本框控件应用案例
11.1.5单选按钮与复选框
11.1.6单选按钮、复选框及分组框应用案例
11.1.7进度条、滚动条、滑块
11.1.8滚动条、文本框、按钮及颜色应用案例
11.1.9与时间有关的控件
11.1.10进度条与计时器应用案例
11.1.11下拉列表框与列表框
11.1.12列表框、下拉列表框及日期时间选择控件应用案例
11.1.13常用控件综合应用案例
11.2常用对话框
11.2.1消息对话框
11.2.2文件的打开与关闭对话框
11.2.3文件打开与保存应用案例
11.2.4字体与颜色对话框
第12章Windows Form图形绘制初步
12.1图形设备接口GDI
12.1.1System::Drawing命名空间中的常用类和数据结构
12.1.2坐标与颜色
12.1.3图形绘制常用数据类型
12.2用Graphics和Pen绘制图形
12.2.1图形绘制步骤及创建方式
12.2.2用Pen类设置线条属性
12.2.3利用Graphics类绘制图形和文字
12.2.4简单图形绘制案例
12.3用Brush类填充颜色
12.3.1Brush类的派生类
12.3.2填充单一颜色
12.3.3用样式填充
12.3.4渐变式填充
12.4绘图应用程序综合案例
12.4.1时钟应用程序Clock
12.4.2绘制静态的时钟表盘
12.4.3绘制动态的时钟指针
12.4.4实现时钟所在窗体的透明、缩放及拖动功能
第四部分习题
第1章C 基础习题
第2章面向对象的C 习题
第3章MFC编程基础习题
第4章资源与对话框习题
第5章控件习题
第6章菜单、工具栏和状态栏习题
第7章文档与视图习题
第8章文本与图形习题
第9章数据库编程习题
第10章Windows Form编程基础习题
第11章Windows Form控件与对话框习题
第12章Windows Form图形绘制初步习题
第五部分实验
实验一基本输入输出、变量声明及函数的默认参数
实验二函数重载、引用传递与内存动态分配
实验三类与对象
实验四继承与派生
实验五虚函数与运算符重载
实验六MFC应用程序与对话框
实验七控件(一)
实验八控件(二)
实验九菜单与工具栏
实验十文档与视图
实验十一文本与图形
实验十二数据库编程
实验十三Windows Form编程基础
实验十四Windows Form控件与对话框(一)
实验十五Windows Form控件与对话框(二)
实验十六Windows Form 图形绘制
参考文献