博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
应用程序各对象创建的顺序
阅读量:5326 次
发布时间:2019-06-14

本文共 1131 字,大约阅读时间需要 3 分钟。

应用程序对象时全局对象,它在启动之前由系统创建。应用程序启动之后,程序的主函数首先调用应用程序对象的初始化函数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

你可能感兴趣的文章
加固linux
查看>>
WPF中Image显示本地图片
查看>>
Hyper-V虚拟机上安装一个图形界面的Linux系统
查看>>
js千分位处理
查看>>
Mac---------三指拖移
查看>>
字符串类型的相互转换
查看>>
基础学习:C#中float的取值范围和精度
查看>>
Vim配置Node.js开发工具
查看>>
web前端面试题2017
查看>>
ELMAH——可插拔错误日志工具
查看>>
MySQL学习笔记(四)
查看>>
【Crash Course Psychology】2. Research & Experimentation笔记
查看>>
SOPC Builder中SystemID
查看>>
NTP服务器配置
查看>>
关于 linux 的 limit 的设置
查看>>
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
vim中文帮助教程
查看>>
MySQL基础3
查看>>
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>