您的位置:首页 > 其它

MFC 初步认识和如何学习MFC的理解

2014-04-27 11:37 302 查看
MFC是用于WINDOW编程的Microsoft C++类库,所有对C++的基础知识一定要熟悉了。

其中一定要把C++中关于构造函数、派生类及虚函数思想 印在脑中。

这几天也网上查看了很多的MFC的教程和一些书,基本都是从MFC自动生成向导开始讲,差不多也只有思想坚持下来的人才可以吧,很容易迷失

MFC 1.0 没有视图和文档。还是从基础的东西开始学习总结,思想固定下来,慢慢深入。

亲自手写代码(不用向导)是最好的。(这是也是这几天的总结下来的,没有人点拔自己慢慢理解吧)

MFC的源代码中使用了大量的宏,尽量把这些都理解了吧

介绍MFC之前总是要了解 用SDK创建窗口过程,可以手写出这段代码最好,理解其的流程,还有一些内部运行细节。

MFC就是对这个基础的框架进行封装,把一些处理过程很好的隐藏了。有一定API基础的(注意MFC替换了什么,隐藏了什么,又怎么处理的)

 进一步熟悉API消息机制,(这里会把以前学习API的第一部分作进一步的总结修改),(看到什么想到什么我都会记录下来,这样以后可以看到不至于从重新想一次,还要查看各种资料浪费时间)

查看(HWND 和 HINSTANCE的区别)

这里讲到  HINSTANCE 是一个用来让程序员区分是程序自身还是模块DLL的值。

MFC也是一个应用程序的框架结构。MFC不仅仅是一个类的集合,它还帮助定义了应用程序的结构并为应用程序处理许多杂务。

以CWinApp类为例,该类代表应用程序自身,MFC几乎封装了程序操作的所有方面。

框架结构提供WinMain函数,而WinMain反过来调用应用程序对象的成员函数使程序运行下去。

Run是WinMain调用的一个CWinApp成员函数,它提供了一个消息循环,将消息送到应用程序的窗口。

MFC中以全局的形式提供了各类的API函数,名字以 Afx 打头

AfxGetApp 返回指向应用程序对象的指针

AfxGetMainWnd返回指向应用程序主窗口的指针

AfxGetInstanceHandle 返回标识当前应用程序实例的句柄

PS:开始跟着一个视频教程学了几天,手动封装像MFC那样的MFC启动 类CWnd 和 CFramWnd类,最后还是因为其中的WM_CREATE消息(这里要对WINDOW API消息要熟悉)没有处理好,视频中也没有找到作者的封装过程,思考了几天无及而终,但是学到了很多

(如:对构造函数、虚函数的理解、WinMain函数的入中和其中包含的处理过程,窗口注册 ,创建窗口的封装流程。和另一种用虚函数处理消息的思想(无及而终的主要原因!!!我们知道在创建窗口函数的执行过程中要处理WM_CREATE,不清楚是不是这个原因导致返回的hwnd总是NULL。。。)

下一步:开始学习MFC第一个Hello MFC程序,并初步探究MFC框架运行机制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: