C++本身应该就是一个独立的领域,但在《深入详解vc++》这本书里面,对于c++的章节只有一章,单凭前一章中的一些大略的知识点肯定是不够的,所以我也会把《C++primer》看一遍,希望能够真正的把C++这门语言掌握,不求多么的炉火纯青,起码基本知识点一定要明白。对于VC++以及MFC的学习也必须跟上,学习这种事情本来就是一个持之以恒的过程,冰冻三尺非一日之寒,计算机的专业知识本就是浩瀚如海,而且这个领域每天都有新的知识,新的理论,新的硬件设备,新的用户需求,我需要养成一种自我学习的能力,否则在今后的生活中难免会成为那么一类放弃思考的群体中的一员,无时无刻都得谨记唯有获取智慧这一条途径能够拯救人类于水火之中。
我今天学习的这一章节的只是是关于MFC框架的剖析,很多时候我们知其然不知其所以然,这就是因为我们对很多我们习以为常的现象没有加以深入的研究,对事物的内部运行机制缺乏最基本的理解,我相信我学习MFC也是这样的一个过程,很多看上去理所应当的步骤实际上有着深层的原因,通过这一章节的学习,我希望我能把MFC面向对象的相关机制弄清楚。
Microsoft Foundation Class,微软基础类库,是为了简化程序员的开发工作所开发的一套对象的函数库,以类的方式提供给用户使用。
1.利用MFC AppWizard辅助我们生成基于MFC框架的源代码。本小节是介绍如何建立一个单文档界面应用程序的相关步骤。
2.基于MFC的程序框架剖析。ClassView中可以看到MFC AppWizard帮助我们生成的类,每一个类都派生于MFC中的一个基类。
(1)Winmain函数,无论是全局变量还是全局对象,程序在运行时,在加载main函数之前,就已经为全局变量或者全局对象分配了内存空间,对全局对象来说,此时就会调用该对象的构造函数,构造该对象,并进行初始化操作。(theApp全局对象表示了应用程序本身;AfxWinmain函数;Initlnstance函数)
(2)MFC框架窗口。设计和注册窗口,创建窗口,显示窗口和更新窗口。
(3)消息循环。CWinThread类的Run函数就是完成消息循环这一任务,该函数就是在AfxWinMain函数中调用。
(4)窗口过程函数
(5)文档/视类结构
(6)帮助对话框架