Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1618281
  • 博文数量: 585
  • 博客积分: 14610
  • 博客等级: 上将
  • 技术积分: 7402
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-15 10:52
文章存档

2013年(5)

2012年(214)

2011年(56)

2010年(66)

2009年(44)

2008年(200)

分类: C/C++

2011-08-21 09:17:11

    MFC 应用程序的操作步骤可归结为四步:

     (1) 创建应用程序对象theApp

     (2) 执行MFC提供的WinMain()函数

     (3) WinMain()调用InitInstance()函数,此函数创建文档模板,主框架窗口,文档和视图

     (4) WinMain()调用Run()函数,此函数执行主消息循环,以获取和分派Windows消息。

 

      WinMain()是函数的入口点,该函数的主要任务是完成一些初始化的工作和维护了一个消息循环。他们的工作流程如下:入口(WinMain())---->MyRegisterClass()---->InitInstance ()--->while消息循环。函数由入口开始执行,之后调用 MyRegisterClass()注册窗口类,之后InitInstance ()生成并显示窗口,这样之后,就完成了一个窗口的初始化工作了(当然,在 MyRegisterClass(),InitInstance ()中都需要调用相应的API函数来具体的实现),然后就是维护消息循环,至此,程序 的基本结构就差不多建立了。以后程序的运作就靠个消息循环来推动了。

 

    MFC程序工作原理:

     在Class View 中的Global中的文件theApp CTestApp theApp;

     这条语句声明了应用程序类CTestApp 的一个实际对象theApp。 在创建过theApp对象之后,

     MFC提供的WinMain()函数被调用。 该函数再调用theApp 对象的两个成员函数。首先调用的是InitInstance(),此函数执行任何必要的初始化应用程序的工作,然后调用的是Run(),此函数提供对Windows消息的初步处理。 WinMain()函数没有显示出现在项目的源代码中,因为它是由MFC类库提供的,在应用程序启动时将被自动调用。 InitInstance()函数的基本功能:进行一些基本的初始化工作并进行 注册 。 Run()函数是从应用程序基类CWinApp继承的,该函数是虚函数,我们可以用自己的版本代替基类的Run()函数版本。 Run()函数获取所有以该应用程序为目的的windows消息,并确保把每一条消息都传递给程序中指定的服务该消息的函数(如果有这样的函数的话) 。因此,只要应用程序在运行,Run()函数就会继续执行。该函数在应用程序关闭时才会终止。

阅读(671) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~