应用程序各对象创建的顺序

应用程序对象时全局对象,它在启动之前由系统创建。应用程序启动之后,程序的主函数首先调用应用程序对象的初始化函数InitInstace(),并在该函数中创建文档模板对象

CSingleDocTemplate *pDocTemplate;//声明文档模板指针(单文档)

    pDocTemplate = new CSingleDocTemplate(//创建文档模板对象
        IDR_MAINFRAME,//文档模板使用的资源ID
        RUNTIME_CLASS(CNOTEDoc),//创建文档对象
        RUNTIME_CLASS(CMainFrame), //创建主SDI框架窗口对象
        RUNTIME_CLASS(CNOTEView));//创建视图对象
    AddDocTemplate(pDocTemplate);//将文档模板加入链表

CMultiDocTemplate* pDocTemplate;//声明文档模板指针(多文档)
    pDocTemplate = new CMultiDocTemplate(//创建文档模板
        IDR_XINXIHTYPE,//加载文档资源
        RUNTIME_CLASS(CXinxiHiding0320Doc),//创建文档对象
        RUNTIME_CLASS(CChildFrame), //创建子窗口对象
        RUNTIME_CLASS(CXinxiHiding0320View));//创建视图对象
    AddDocTemplate(pDocTemplate);//加入链表

CMainFrame* pMainFrame = new CMainFrame;//创建应用程序主窗口
    if (!pMainFrame->LoadFrame(IDR_MAINFRAME))//加载资源
        return FALSE;
    m_pMainWnd = pMainFrame;//主窗口对象赋予指针m_pMainWnd

在用文档模板构造函数创建文档模板对象的时候,在文档模板构造函数的参数列表中除了传递所需要的资源ID之外,还用MFC的宏RUNTIME_CLASS()传递了文档类、框架窗口类和视图类的类信息表,然后由模板类的构造函数根据资源和类信息表动态的创建文档、视图、窗口框架三个对象,其中,视图对象是由框架窗口对象创建并管理的。最后,应用程序创建文件模板文件并将其加入由应用程序对象维护的文档模板链表中。

应用程序框架对象之间的联系方法:MFC应用程序框架的各个对象都从各自的基类继承了一些获得其他对象指针的方法,从而可以使各对象通过这些指针与其他对象的成员互相联系

转载于:https://www.cnblogs.com/day-up/p/3970256.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值