MFC 初步认识和如何学习MFC的理解
来源:互联网 发布:单片机项目承接 编辑:程序博客网 时间:2024/06/12 19:32
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框架运行机制
- MFC 初步认识和如何学习MFC的理解
- 框架的学习(二)--MFC初步
- MFC初步之框架理解
- node.js的学习历程九Cookie和Session的初步认识和理解
- 如何精通MFC-----CObject类的理解
- 如何精通MFC-----CObject类的理解
- 如何精通MFC-----CObject类的理解
- 认识Windows API和MFC
- SQL Default 约束的初步认识和理解!
- 如何学习mfc
- MFC 框架的理解
- [MFC]DECLARE_MESSAGE_MAP() 的理解
- [MFC]DECLARE_MESSAGE_MAP() 的理解
- [MFC]DECLARE_MESSAGE_MAP() 的理解
- 学习MFC框架如何创建的过程
- 学习MFC框架如何创建的过程
- 学习MFC框架如何创建的过程
- 学习MFC框架如何创建的过程
- Mininet简介
- IOS之间的调用
- 20060131-Spatial transformations: Terminology and notation
- Learn Java for Android Development Second Edition 笔记(四)
- php Cannot redeclare class 的错误的几种情况
- MFC 初步认识和如何学习MFC的理解
- [projecteuler]Maximum path sum I,II
- [hdu-2037] 今年暑假不AC
- web开发者通向架构师之路
- hdu 1423 Greatest Common Increasing Subsequence(LCIS)
- 极角排序
- 中国人为何宁花4000元买手机,不花6元买游戏
- 判读数组中是否有重复的值
- iOS7开发者不可不知道的10件设计思路