内容简介
本书分为四大篇。第1篇提出学习MFC程序设计之前的必要基础,包括Widnows程序的基本观念以及C++的高阶议题。“学前基础”是相当主观的认定,不过,甚于我个人的学习经验以及教学经验,我的挑选应该颇具说服力。第二篇介绍Visual C++整合环境开发工具。本篇只不过是提纲挈领而已,并不企图取代 Visual C++使用手册。然而对于软件使用的老手,此篇或已足以让您掌握Visual C++整合环境。工具的使用虽然谈不上学问,但在视觉化软件开发过程中扮演极重角色,切莫小觑它。
第三篇介绍application framework的观念,以及MFC骨干程序,所谓骨干程序,是指Visual C++的工具AppWizard所产生出来的程序码。当然,AppWizard会根据你的选项做出不同的程序码,我所据以解说的,是大众化选项下的产品。
第四篇以微软公司附于Visual C++光碟片上的一个范例程序Scribble为主轴,一步一步加上新的功能。并在其间深入介绍Runtime Type Information(RTTI)、Dynamic Creation、Persistence(Serialization)、Message Mapping、Command Routing等核心技术。这些技术正是其他书籍缺乏的部分。此篇之最后数章则脱离Scribble程序,另成一格。
本书内含光盘一片,书中所有原始码与可执行文件尽在其中。
目录
第0章 你一定要知道(导读)
这本书适合谁
你需要什么技术基础
你需要什么软硬件环境
让我们使用同一种语言
本书符号习惯
本书例程的取得
范例程序说明
与前版本之差异
如何联络作者
第一篇 勿在浮砂筑高台
第1章 Win32程序基本概念
Win32程序开发流程
需要什么函数库(.LIB)
需要什么头文件(.H)
以消息为基础,以事件驱动之(message based,event driven)
一个具体而微的Win32程序
程序进入点WinMain
窗口类之注册与窗口之诞生
消息循环
窗口的生命中枢:窗口函数
消息映射(Message Map)的雏形
对话框的运行
模块定义文件(.DEF)
资源描述档(.RC)
Widnows程序的生与死
空闲时间的处理:OnIdle
Console程序
Console程序与DOS程序的差别
Console程序的编译链接
JBACKUP:Win32 Console程序设计
MFCCON:MFC Console程序设计
行程与线程(Process and Thread)
核心对象
一个行程的诞生与死亡
产生子行程
一个线程的诞生与死亡
以_beginthreadex取代CreateThread
线程优先级(Priority)
多线程程序设计实例
第2章 C++的重要性质
类及其成员——谈封装(encapsulation)
基类与派生类:谈继承(Inheritance)
this指针
虚拟函数与多态(Polymorphism)
类与对象大解剖
Object slicing与虚拟函数
静态成员(变量与函数)
C++程序的生与死:兼谈构造函数与解构函数
四种不同的对象生存方式(in stack、in heap、global、local static)
执行期类型信息(RTTI)
动态生成(Dynamic Creation)
异常处理(Exception Handling)
Template
Template Functions
Template Classes
Template的编译与链接
第3章 MFC六大关键技术之仿真
MFC类层次结构
Frame 1范例程序
MFC程序的初始化过程
Frame 2范例程序
RTTI(执行期类型识别)
类别型录网与CRuntimeClass
DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏
Frame 3范例程序
IsKindOf(类型识别)
Frame 4范例程序
Dynamic Creation(动态生成)
DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE宏
Frame 6范例程序
Persistence(永久保存)机制
Serialize(数据读写)
DECLARE_SERIAL/IMPLEMENT_SERIAL宏
没有范例程序
Message Mapping(消息映射)
Frame 7范例程序
Command Routing(命令传递)
Frame 8范例程序
本章回顾
第二篇 欲善工事先利其器
第4章 Visual C++集成开发环境
安装与组成
四个重要的工具
内务府总管:Visual C++集成开发环境
关于project
关于工具设定
Source Browser
Online Help
调试工具
VC++调试器
Exception Handling
程序代码产生器:AppWizard
东圈西点完成MFC程序骨干
威力强大的资源编辑器
Icon编辑器
Cursor编辑器
Bitmap编辑器
工具栏(Toolbar)编辑器
VERSIONINFO资源编辑器
字符串表格(Accelerator)编辑器
菜单(Menu)编辑器
加速键(Accelerator)编辑器
对话框(Dialog)编辑器
Console程序的项目管理
第三篇 浅出MFC程序设计
第5章 总观Application Framework
什么是Application Framework?
侯捷怎么说
我怎么说
别人怎么说
为什么使用Application Framework
Microsoft Foundation Classes(MFC)
白头宫女话天宝:Visual C++与MFC
纵览MFC
General Purpose classes
CObject
数据处理类(collection classes)
杂项类
异常处理类(exception handling classes)
Windows API classes
Application framework classes
High level Abstractions
Afx全局函数
MFC宏(macros)
MFC数据类型(data types)
第6章 MFC程序的生死因果
不二法门:熟记MFC类的层次结构
需要什么函数库?
需要什么头文件?
简化的MFC程序结构——以Hello MFC为例
Hello程序程序代码
MFC程序的来龙去脉(causal relations)
我只借用两个类:CWinApp和CFrameWnd
CWinApp——取代WinMain的地位
CFrameWnd——取