MFC程序设计轻松入门(附赠DVD光盘一张)

分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,C语言及其相关,
品牌: 欧阳志宏
基本信息·出版社:人民邮电出版社
·页码:348 页
·出版日期:2009年
·ISBN:7115196001/9787115196002
·条形码:9787115196002
·包装版本:1版
·装帧:平装
·开本:16
·正文语种:中文
·附带品描述:附赠DVD光盘一张
产品信息有问题吗?请帮我们更新产品信息。
内容简介《MFC程序设计轻松入门》以循序渐进的方式介绍了基于Visual C++开发环境的MFC应用程序设计基本原理、基本方法和技术细节。全书共分为16章。第1章和第2章简要介绍了C++语言基础和Visual C++6.0开发环境。第3章~第6章深入分析了MFC应用程序的核心技术,重点研究了文档视图结构及其各要素间的内在联系。第7章~第16章详述了MFC应用程序设计涵盖的各个方面,包括鼠标、键盘、菜单、工具栏、状态栏、对话框、绘图、文件操作、进程与线程、动态链接库、数据库、网络和ActiveX控件。
《MFC程序设计轻松入门》内容丰富、结构清晰、语言简练、示例实用,适合于MFC应用程序设计的初学者,也可作为具有MFC开发经验或正在转向Visual C++MFC程序开发的各类程序员的参考用书。
编辑推荐从MFC基础讲起,引导读者轻松入门,实例丰富,操作步骤详尽,提供全部实例源代码。
目录
第1章C++语言基础
1.1面向对象编程
1.2C++中的类和对象
1.2.1类的定义
1.2.2对象的生成
1.2.3对象数组
1.3类的构造函数与析构函数
1.3.1构造函数的声明与定义
1.3.2使用构造函数
1.3.3默认构造函数
1.3.4复制构造函数
1.3.5析构函数
1.4类的派生与继承
1.4.1派生与继承的定义
1.4.2派生类与基类的继承关系
1.4.3多重继承
1.4.4虚基类
1.5动态内存分配
1.6this指针
1.7友元
1.7.1友元函数
1.7.2友元类
1.8类型转换
1.8.1自动类型转换
1.8.2强制类型转换
1.9多态与虚函数
1.10重载
1.10.1函数重载
1.10.2运算符重载
1.11代码重用
1.11.1函数模板
1.11.2类模板
1.12异常处理
第2章Visual C++ 6.0开发环境
2.1Visual C++ 6.0开发环境简介
2.1.1安装与启动
2.1.2外观
2.2项目的创建与执行
2.3调试功能
2.3.1调试的一般过程
2.3.2监视窗口
2.3.3断点设置
2.3.4程序运行控制
2.4Visual C++ 6.0帮助说明
第3章MFC基础
3.1MFC的历史
3.2MFC类库
3.2.1MFC类库总览
3.2.2MFC类库组成
3.3MFC应用程序
3.3.1Windows应用程序模型
3.3.2MFC的优点
第4章MFC程序结构与运行机制
4.1创建一个窗口应用程序
4.2程序的结构
4.2.1生成的文件
4.2.2生成的类与对象
4.3运行程序
4.4程序的运行机制
4.4.1程序的进入点WinMain
4.4.2消息循环
4.4.3退出程序
第5章消息映射
5.1消息的结构
5.2消息的种类
5.2.1系统定义消息和应用程序定义消息
5.2.2队列消息和非队列消息
5.2.3窗口消息、命令消息和控制通知消息
5.2.4常用消息
5.3消息的发送与接收
5.3.1消息的发送
5.3.2消息的接收
5.4消息循环
5.5消息映射
5.5.1消息映射的实现方法
5.5.2消息映射宏
5.6自定义消息
第6章文档视图结构
6.1文档视图结构概述
6.2文档、视图、框架、文档模板
6.2.1文档
6.2.2视图
6.2.3框架
6.2.4文档模板
6.3文档视图结构的内在机制
6.3.1文档、视图、框架的关系
6.3.2消息处理
第7章鼠标与键盘
7.1鼠标
7.1.1鼠标消息
7.1.2滚轮
7.1.3鼠标捕获
7.1.4光标
7.2键盘
7.2.1键盘消息
7.2.2焦点
第8章菜单、工具栏与状态栏
8.1菜单
8.1.1系统菜单
8.1.2下拉菜单
8.1.3弹出菜单
8.1.4类CMenu
8.1.5键盘加速键
8.2工具栏
8.2.1控制栏
8.2.2工具栏与类CToolBar
8.2.3工具栏的设计与应用
8.3状态栏
8.3.1状态栏与类CStatusBar
8.3.2状态栏的设计与应用
第9章对话框
9.1对话框概述
9.1.1模式对话框
9.1.2非模式对话框
9.2类CDialog
9.3对话框数据存取机制
9.4对话框控件
第10章绘图
10.1绘图原理
10.2GDI对象
10.2.1画笔、画刷、字体和区域
10.2.2调色板
10.2.3位图
10.3DC
10.3.1DC属性
10.3.2DC类
10.3.3CDC基本绘图函数
10.4映射模式
10.5绘图模式
第11章文件操作
11.1Windows API函数实现文件操作
11.2类CFile
11.3串行化与类CArchive
11.4打印与预览
11.4.1打印
11.4.2打印预览
第12章进程与线程
12.1进程与线程
12.2Windows API函数实现进程与线程操作
12.2.1进程操作
12.2.2线程操作
12.3类CWinThread
12.4线程同步
12.4.1同步对象
12.4.2等待函数
第13章动态链接库
13.1用户模块
13.2静态链接库的创建与使用
13.3动态链接库基本理论
13.3.1动态链接库的分类
13.3.2动态链接库的优点及必要性
13.3.3动态链接库的工作原理
13.3.4动态链接库的使用方法
13.4MFC DLL
13.4.1规则DLL
13.4.2扩展DLL
第14章数据库程序设计
14.1数据库基础
14.2MFC ODBC数据库程序设计
14.2.1ODBC概述
14.2.2MFC的ODBC类
14.3MFC DAO数据库程序设计
14.3.1DAO概述
14.3.2MFC的DAO类
第15章网络程序设计
15.1网络拓扑结构
15.2网络分层结构
15.3TCP/IP
15.3.1IP
15.3.2ICMP
15.3.3TCP
15.3.4UDP
15.4Socket编程
15.4.1Socket编程基础
15.4.2类CAsyncSocket
15.4.3类CSocket
15.5网络应用程序
第16章ActiveX控件
16.1ActiveX控件基础
16.1.1事件
16.1.2方法
16.1.3属性
16.1.4ActiveX控件体系结构
16.1.5ActiveX控件容器
16.2MFC ActiveX控件操作
……[看更多目录]
序言背景
随着20世纪90年代面向对象程序设计(OOP,Object-Oriented Programming)的异军突起,应用程序框架(Application Framework)应运而生。MFC(Microsoft Foundation Class)作为应用程序框架中的重要一员,已经在全世界迅速地流行起来,并成为应用程序设计的主流技术。
MFC是一个大型的基础类库,它所包含的C++类涵盖了应用程序设计的方方面面。它将大量的Windows API函数封装起来,建立了一些更友好的与用户交互的函数,在很大程度上屏蔽了Windows应用程序设计的复杂性。MFC的文档视图结构更是将数据处理与数据显示完美地区分开来,使得用户在程序设计时思路更加清晰,也使程序的结构更加明了易懂。
Visual C++是一种支持MFC应用程序设计的、较好的工具,作为一种集成开发环境(IDE,Integrated Development Environment),它提供了MFC应用程序向导(Application Wizard),以帮助用户建立应用程序的基本框架。用户只需在框架的基础上加入自己特定的代码即可实现预定的功能,为MFC应用程序设计带来了极大的方便。
本书特点
目前,市场上已有一些介绍MFC应用程序设计的书籍,但能够站在MFC自学者的角度全面细致、循序渐进地引领读者走进MFC探索之旅的书籍寥寥无几。本书以翔实的内容、清晰的结构、通俗的语言将MFC应用程序设计的基本原理、基本方法和技术细节展现给读者,本书具有以下主要特点。
文摘插图:

当用指向派生类的对象的基类指针对函数进行访问时,系统将根据运行时指针所指向的实际对象来确定调用哪一个派生类的成员函数。当指针指向不同的对象时,执行的是虚拟函数的不同版本。
使用多态性可以实现自上而下的设计方法,从全局出发,用类的层次结构来模拟客观世界的程序设计方法。简单地说,多态性是指用一个相同的名字定义不同的函数,这些函数执行过程不同,但是有相似的操作,即用同样的接口访问不同的函数。运算符重载和函数重载就是一种多态性,这是编译时的多态性,也称静态多态性。前面函数的绑定是在运行时的动态绑定,它也被称作动态多态性。
在面向对象的程序设计中,多态性允许在基类中声明和派生类共有的函数,也允许在派生类中对其中的某些或全部函数进行特殊定义,前者称作“泛化”,后者称为“特化”。因此,我们可以设计抽象的基类,在该类中的函数是没有实现的,然后在各个派生类中定义这些函数,并在派生类中定义各自的具体实现,从而实现抽象基类这个通用的接口。
构造函数和析构函数在基类和派生类中具有不同的名称,似乎不能使用虚构造函数和析构函数。实际上,虽然不能有虚构造函数,但却可以创建虚析构函数。它的作用是保证在销毁派生类对象时动态删除在此对象中动态分配的内存。因为,如果为基类成员和派生类成员动态地分配了内存,就需要确保在销毁派生类对象时,派生类析构函数存在并首先被调用。
为了对虚析构函数有更加直观的认识,来看下面这个例子。