深浅MFC学习笔记总结-MFC程序的执行过程

原创 2006年06月03日 12:24:00

MFC程序的执行过程

  首先产生全局的对象theApp(任何一个mfc程序都会产生这样一个对象)

2     进入到 int  AFXAPI afxWinMain(…)这个函数中。

3      进入到 AfxWinInit)。

SDK程序WinMain函数的四个参数HINSTANCE hInstance,HINSTANCE hPrevInstance ,LPSTR lpCmdLineCwinApp中都是成员变量,在这一步,将afxWinMain传进来的这些参数值赋给theApp对应的成员变量。

4     pApp->InitApplication()   调用的是CwinApp:: InitApplication()。该函数在C**WinApp中并未被改写。

5     pApp->InitInstance()。调用的是C**WinApp:: InitInstance()。该函数被改写了。

6  第5步中new C**FrameWnd,引发C**FrameWnd的构造函数。

7   执行C**FrameWnd的构造函数中的Create函数。调用的是CFrameWnd::Create函数。

 CWnd::CreateEx() 。该函数中定义了cs结构(cs可以在下一步中修改)。产生窗口,得到窗口句柄hWnd

 CFrameWnd::PreCreateWindow CREATESTRUCT & cs)。不同类的PreCreateWindow成员函数都是在窗口产生之前一刻被调用,准备用来注册窗口类。可以这样理解,在mfc为我们注册窗口类之前,预留了这个接口,我们只要在PreCreateWindow修改cs中的数据,就可以产生我们期望的窗口属性。

10  注册该窗口.

11  回到第5步中,显示窗口。

12  pApp->Run  调用CwinApp::RunCwinApp::Run中又调用了CwinTheard::Run()。该函数维护消息队列中的消息循环,发送消息到AfxWndProc。下面就是Message Map的事了

 

                                                     -- 对应第六章 MFC程序的生死因果

MFC程序的执行流程

一、WinMain()函数在哪儿 因为看不到WinMain()函数,许多初学者不知道程序究竟从哪儿开始,编程从哪儿下手,编写的代码何时运行等等,另外,还有很多看不懂的语句,最大的困难恐怕还是MF...
  • holandstone
  • holandstone
  • 2012年05月07日 15:38
  • 5933

MFC窗口程序启动运行机制剖析

本文的测试环境: IDE:VS2010 + VC助手(GO按钮对后面的跟踪调试很有用) 操作系统:Win8.1...
  • eldn__
  • eldn__
  • 2014年07月18日 21:13
  • 3197

MFC应用程序的开发步骤

(1) 根据应用程序的特性和外观要求在MFC AppWizard[exe]应用程序向导各步骤的对话框中选择相应的选项,创建应用程序的框架。 (2) 利用资源编辑器为程序添加资源,如编辑菜单、添加对话...
  • u013232740
  • u013232740
  • 2015年01月28日 15:09
  • 608

MFC-最简单的MFC程序

       尽管刚接触MFC不久,但其开发模式已初有感受,抛开复杂的应用不谈,想想我们通常怎样来写一个简单的MFC程序。也许浮现在你脑海里的是程序向导,类向导,资源编辑器,以及程序代码,此时你大概会...
  • linzhengqun
  • linzhengqun
  • 2007年12月13日 09:39
  • 9168

mfc学习笔记之如何自己动手实现最简单的mfc程序

在刚开始学完c++基本语法之后,发现要用c++写一个窗口应用程序必须与操作系统结合起来,于是自然而然的选择了从mfc入手,但是通过新建的mfc程序发现太过于臃肿,不知道如何下手,因此从网上查阅资料发现...
  • zhengjuexi4456
  • zhengjuexi4456
  • 2016年07月06日 18:43
  • 1260

第一个MFC程序

上一次和大家在一起探讨了用VS创建
  • u012864599
  • u012864599
  • 2014年06月08日 20:04
  • 1459

MFC程序逆向 – 消息篇

作 者: szdbg 时 间: 2007-10-31,06:26:02 链 接: http://bbs.pediy.com/showthread.php?t=54150 前言: 记得前一段...
  • gyh198
  • gyh198
  • 2011年12月09日 08:54
  • 3380

[每日一学]MFC学习笔记——Hello World

简介   MFC(Microsoft Foundation Classes),是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows的API,并且包含一...
  • kingsollyu
  • kingsollyu
  • 2012年10月23日 21:20
  • 7501

MFC程序执行过程

一 MFC程序执行过程剖析 1)我们知道在WIN32API程序当中,程序的入口为WinMain函数,在这个函数当中我们完成注册窗口类,创建窗口,进入消息循环,最后由操作系统根据发送到程序窗口的消息调...
  • u010727746
  • u010727746
  • 2017年05月18日 10:56
  • 64

VS2010打包MFC程序

选择Splash属性-->配置属性-->常规,选择 选择C/C++-->代码生成,选择 然后重新编译这个程序。 下面开始打包自己写的Splash程序 新建一个项目,选择  安装项目 写...
  • JThink_
  • JThink_
  • 2013年07月22日 21:16
  • 3645
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深浅MFC学习笔记总结-MFC程序的执行过程
举报原因:
原因补充:

(最多只允许输入30个字)