一直以来  我都一个疑惑 如果看懂别人的MFC 程序。

今日忽然略有小悟。

Q:MFC是啥?

A:MFC是类库。。

*************

Q :MFC 啥玩意类库?

A;MFC 是封装API的类库

××××××××

Q:MFC的导火索是啥?

A:TheAPP

×××××××××××××××××××××××

以上是背景信息。

所以看懂程序第一步:

熟悉MFC类的架构  MFC家族的七大姑八大姨 要门清,谁是谁的儿子  ? 谁的谁的孙子? 谁是谁的远方表哥?这都要清楚。

MFC就像一个大家庭,这里面有些是亲生的 有些是包养的  这些都要熟悉才好。

看懂程序第二步:

MFC里面有些程序自己写的类 ,这些有些是完全和MFC没有关系。我称之为 MFC家族的客人,有些在在程序员撮合剩下的儿子 孙子,我成之为新生代。

看懂程序第三步:知晓MFC六大机制

看懂程序第四步:顺着导火索 把程序在心中运行一遍。

后记:将程序的框架提炼出来,搞定 收工。。。。。来! 干了这杯二锅头。。。

如何看MFC程序的更多相关文章

  1. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(01)

    #include <afxwin.h> class CMyApp : public CWinApp { public: virtual BOOL InitInstance(); }; cl ...

  2. MFC程序执行顺序 .

    1.创建Application object对象theApp 程序一开始生产一个(且只有一个)Application object对象theApp,也即一个CWinApp对象,这个全局对象一产生,便执 ...

  3. cmake编译dcmtk,并利用vs2010 进行开发mfc 程序

    这几天要处理 医学图像数据,经同学推荐 采用 dcmtk 关于 编译 dcmtk 是可参考如下blog 1. http://blog.csdn.net/okaimee/article/details/ ...

  4. MFC六大核心机制之一:MFC程序的初始化

    很多做软件开发的人都有一种对事情刨根问底的精神,例如我们一直在用的MFC,很方便,不用学太多原理性的知识就可以做出各种窗口程序,但喜欢钻研的朋友肯定想知道,到底微软帮我们做了些什么,让我们在它的框架下 ...

  5. MFC程序的启动过程——先全局对象theApp(第一入口),后WinMain(真正入口),会引爆pApp->InitInstance从而创建窗口(程序员入口)

    原文出自:http://blog.csdn.net/yuvmen/article/details/5877271 了解MFC程序的启动过程,对于初学者来讲,了学习MFC很有帮助:对于不常用VC的人来说 ...

  6. vc++深入跟踪MFC程序的执行流程

    在MFC程序设计的学习过程中最令人感到难受,甚至于有时会动摇学习者信心的就是一种对于程序的一切细节都没有控制权的感觉.这种感觉来源于学习者不知道一个MFC程序是如何运行起来的(即一个MFC程序的执行流 ...

  7. 深入跟踪MFC程序的执行流程

    来源: http://blog.csdn.net/ljianhui/article/details/8781991 在MFC程序设计的学习过程中最令人感到难受,甚至于有时会动摇学习者信心的就是一种对于 ...

  8. [转]《深入浅出MFC》– MFC程序的生死因果

    1.首先MFC程序需要哪些函数库? Windows C Runtime函数库 LIBC.LIB       C Runtime函数库的静态链接版本 MSVCRT.LIB     C Runtime函数 ...

  9. C++MFC编程笔记day01 MFC介绍、创建MFC程序和重写消息处理

    一.MFC概念和作用 1.全称Microsoft Foundation Class Library,我们称为微软基础类库,封闭了绝大部分的win32 Api函数,C++语法中的数据结构,程序的运行流程 ...

随机推荐

  1. jQuery补充,模拟图片放大镜

    jQuery补充,模拟图片放大镜 html <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  2. MyBatis 是一款优秀的持久层框架

    MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...

  3. 【BZOJ】1637: [Usaco2007 Mar]Balanced Lineup(前缀和+差分+特殊的技巧)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1637 很神思想.. 前缀和应用到了极点... 我们可以发现当数量一定时,这个区间最前边的牛的前边一个 ...

  4. SharePoint Survey WebPart 调查 Web部件

    SharePoint Survey WebPart 调查 Web部件 Web部件下载地址 点击此处下载. 安装激活Web部件 过程简单此处省略. 项目描写叙述 调查是SharePoint中协同门户的一 ...

  5. PyQt的Layout的比例化分块。

    一. QGridLayout: // 列比 第0列与第1列之比为 1:2 layout2p1 -> setColumnStretch(0, 1); layout2p1 -> setColu ...

  6. 返回flag

    //修改前namespace CleanCSharp.Errors.Dirty { public class SomeClass { public int DoSomeProcess(int? id) ...

  7. 小谈js原型链和继承

    原型(prototype)在js中可是担当着举足轻重的作用,原型的实现则是在原型链的基础上,理解原型链的原理后,对原型的使用会更加自如,也能体会到js语言的魅力. 本文章会涉及的内容 原型及原型对象 ...

  8. linux使用常见问题

    出现RTNETLINK answers: File exists 同时出现connect:network is unreachable 和 Determining IP information for ...

  9. PHP HTTP协议:防盗链

    test.html:主界面 <html> <head> <meta http-equiv="content-type" content="t ...

  10. Maven的安装配置及初次创建项目与java单元测试工具JUnit

    Maven  安装     1.把maven安装包解压到某个位置     2.配置M2_HOME环境变量指向这个位置 3.在path环境变量中添加;%M2_HOME%\bin 配置镜像 国内的阿里云镜 ...