“消息机制为基础,事件驱动之”。消息机制,是整个窗口编程的基础。这个机制把程序运行显示以及与用户交互分割开来。把应用程序和操作系统的职能有效的结合在一起。
窗口。是程序和用户人机交互的平台,也是整个程序的模块化基础。窗口的创建经历了 初始化窗口类、注册窗口类、创建窗口、显示更新窗口几个步骤。其中每个窗口关联一个窗口处理函数,把窗口感兴趣的每个消息,分派处理(多采用Swich case 结构;具体处理过程,多调用系统API完成)。
windows API.是os留个编程人员的接口。对于底层的许多操作(如文件,图形等)进行了封装处理。我们只需要根据调用这些接口,提供相关的参数,就可以完成很多底层的功能。在没有操作系统的时代,这些工作全权由程序员完成,其工作量之大,难度之高,和出错率之多,可想而知。这也是操作系统出现的原因,也是os最总要的职能之一。
MFC. 是微软提供的一个框架。所谓框架,是面向对象的一个概念,就是一个足够强大的类库,或者理解为一个派生类群。目前有很多框架,MFC, .net,Java...很多。
MFC是对于许多的Windows API函数的一个封装。解决了大规模窗口程序采用c/jdk编程过程中所产生的代码大量冗余,复杂度过高的问题。它在封装api的过程中,引入了消息映射的机制,避免了大量重复的代码粘贴。
学习MFC首先是理解它和Win32/api式的程序的本质关系。从本质来说,他们是完全一致的。只是在有些步骤被预先写好在某些文件中了。如果逐步跟踪就会发现他们的存在。当我创建一个工程的时候,系统会根据我的设置加入对应的代码。
然后是对于整个类库的学习和应用。对话框,CCd,菜单,网络等。其实说白了就是对于类库中的类,了解他们的派生关系,以及每个类的封装特性,最后了解他们的成员函数。逐步从认识,到熟悉,再到熟练应用。
对于编程能力,很大程度上可以说,就是对于整个类库的熟悉程度。