例)从第七章开始分章探讨每一个MFC应用技术主题。第13章另有三个程序示范 Multi-View 和 Multi-Document 的情况。
14章~16 章是第二版新增内容主题分别是MFC 多线程程序设计、Custom AWizard、以及如何使用Comonent Gallery 提的ActiveX controls 和comonents。
你需要什么技术基础
从什么技术层面切入Windows软件开发领域?C/SDK?抑或C++/MFC?这一直是个引起争议的论题。就我个人观点C++/MFC 程序设计必须跨越四大技术障碍:
1. 面向对象观念与C++ 语言。
2. Windows 程序基本观念(程序进入点、消息流动、窗口函数、callback...)。
3. Microsoft Foundation Classes(MFC)本身。
4. Visual C++ 整合环境与各种开发工具(难度不高但需熟练)。
换言之如果你从未接触C++千万不要阅读本书那只会打击你学习新技术的信心而已。如果已接触过C++ 但不十分熟悉你可以一边复习C++ 一边学习MFC这也是我所鼓励的方式(很多人是为了使用MFC 而去学习C++ 的)。C++ 语言的继承(inheritance)特性对于我们使用MFC尤为重要因为使用MFC 就是要继承各个类并为己用。所以你应该对C++ 的继承特质(以及虚函数当然)多加体会。我在第2章安排了一些C++ 的必要基础。我所挑选的题目都是本书会用到的技术而其深度你不见得能够在一般 C++ 书籍中发现。
如果你有C++ 语言基础但从未接触过Win16 或 Win32 程序设计只在 DOS 环境下开发过软件我在第1章为你安排了一些 Win32 程序设计基础。这个基础至为重要只会在各个 Wizards上按来按去却不懂所谓 message loo 与 window rocedure 的人不可能搞定 Windows 程序设计——不管你用的是MFC或OWL或Oen Class Library不管你用的是Visual C++或Borland C++或VisualAge C++。
名词界定:
AI—Alication rogramming Interface 系统开放出来给
程序员使用的接口就是AI。一般人的观念中AI是指像 C 函数那样的东西不尽然!DOS 的中断向量(interrut vector)也可以说是一种AIOLE Interface(以 C++ 类的形式呈现)也可以说是一种 AI。不是有人这么说吗:MFC 势将成为 Windows 环境上标准的 C++ AI(我个人认为这句话已成为事实)。
SDK—Software Develoment Kit 原指软件开发工具。每一套环境都可能有自己的SDK例如har La的386|DOS Extender 也有自己的SDK。在Windows这一领域SDK原是指Microsoft 的软件开发工具但现在已经变成一个一般性名词。凡以Windows raw AI 撰写的程序我们通常也称为SDK程序。也有人把Windows AI称为SDK AI。Borland 公司的C++ 编译器也支持相同的SDK AI(那当然因为Windows只有一套)。本书如果出现「SDK 程序」这样的名词指的就是以 Windows raw AI 完成的程序。
MFC—Microsoft Foundation Classes 的缩写这是一个架构在Windows AI之上的C++ 类库(C++ Class Library)意图使 Windows 程序设计过程更有效率更符合面向对象的精神。MFC 在争取成为「Windows 类库标准」的上声势浩大。Symantec C++以及WATCOM C/C++已向微软取得授权在它的软件开发平台上 MFC。Borland C++也可以吃进MFC程序代码——啊OWL 的地位益形尴尬了。
OWL—Object Windows Library 的缩写这也是一个具备Alication Framework 架势的 C++ 类库附含在 Borland C++ 之中。
Alication Framework—在面向对象领域中这是一个专有名词。关于它的意义本书第5章有不少介绍。基本上它可以说是一个更有凝聚力关联性更强的类库。并不是每一套C++类库都有资格称为Alication Framework不过MFC和OWL都可入列IBM 的 Oen Class Library 也是。Alication Framework 当然不一定得是C++类库Java和 Delhi 应该也都称得上。
为使全书文字流畅精简我用了一些缩写字:
AI - Alication rogramming Interface
DLL - Dynamic Link Library
GUI - Grahics User Interface
MDI - Multile Document Interface
MFC - Microsoft Foundation Class
OLE - Object Linking &am; Embedded
OWL - Object Windows Library
SDK - Software Develoment Kit
SDI - Single Document Interface
UI - User Interface
WinA : Windows Alication
以下是本书使用之中英文名词对照表:
Control 控制组件如 Edit、ListBox、Button...。
drag &am; dro 拖放(鼠标左键按下选中图示后拖动然后放开)
Icon 图标(窗口缩小化后的小图样)
linked-list 串列