MFC的运行步骤

    技术2022-05-11  54

    MFC的运行步骤:(这是对于文档视图结构的应用程序的)

    theApp(theApp())->//应用程序全局对象的构造和内存分配

    WinMain()->//

    AfxWinMain()->//

    InitApplacation()(

    Initinstance()(theApp)->//

    LoadFrame()->//

    CFrameWnd::Create()->/CWnd::CreateEx()->//

    CMainFrame::PreCreateWindow()(

    ShowWindow()->UpdateWindow()->//

    消息循环:->CwinThread::Run()->do-while()循环(->PumpMessage()->GetMessage()->TranslateMessage()->DispatchMessage())

    显示和更新
    实际上该函数是一个虚函数,也就是说如果子类为应用程序定义了该函数,那么它将调用子类的函数,因此,我们可以重载该函数来修改应用程序框架的外观)->//在框架窗口显示之前调用
    创建应用程序窗口
    载入框架
    注册窗口类->AfxEndDeferRegisterClass ()(该函数根据不同的应用程序注册不同的窗口类)->AfxRegisterClass()->CMainFrame::PreCreateWindow()->CFrameWnd::PreCreateWindow()->AfxDeferRegisterClass()(如果没有注册,就注册窗口类;它实际上是AfxEndRegisterClass()的宏)(一般都是在这里注册窗口类,由于文档窗口涉及到文档视图类的管理)->
    应用程序的Initinstance()->//应用程序的初始化(创建和注册窗口类、显示和更新应用程序框架)
    初始化应用程序对象
    应用程序的内部管理)->//用于应用程序的内部管理的初始化
    调用API
    进入主函数

      简单的说就是初始化全局对象进入主函数再进行窗口类的创建和注册并显示,然后进入消息循环。  theApp:全局变量或是类对象在程序运行前初始化。即分配内存空间,初始成员。(每一个MFC应用程序都只有一个全局对象theApp对象,我们用该全局对象唯一的表示该应用程序。) 

     


    最新回复(0)