zoukankan      html  css  js  c++  java
  • MFC函数—CSingleDocTemplate

    前提:在InitInstance() 函数的初始化过程中,我们可以看到代码

    CSingleDocTemplate* pDocTemplate;
    pDocTemplate = new CSingleDocTemplate(
    IDR_MAINFRAME,
    RUNTIME_CLASS(CHelloDoc),
    RUNTIME_CLASS(CMainFrame), // main SDI frame window
    RUNTIME_CLASS(CHelloView));
    AddDocTemplate(pDocTemplate);

    这段代码完成一项十分重要的工作:文档模板的设置。根据用户在AppWizard的第一步中的选择,首先定
    义了一个单文档模板对象,然后通过这个单文档模板将应用程序的资源(由标识符IDR_MAINFRAME确定)、
    文档类 CHelloDoc、主框架窗口类 CMainFrame 和视图类 CHelloView 联系在一起,最后通过调用
    AddDocTemplate()函数将这一单文档模板对象加入到应用程序维护的文档模板列表中。

    CSingleDocTemplate(
       UINT nIDResource,
       CRuntimeClass* pDocClass,
       CRuntimeClass* pFrameClass,
       CRuntimeClass* pViewClass
    );

    参数说明:
    nIDResource指定文档类型使用的资源ID。它可能包括菜单,图标,加速键和字符串资源。
    字符串资源最多可以包含七个由‘ ’字符分割的子串(如果有一个子串没有被包括,则需要‘ ’字符作为一个占位符;尾部的‘ ’字符不是必须的);这些子串描述了文档的类型。有关子串的信息,参见CDocTemplate::GetDocString。这个字符串资源可以在应用程序的资源文件中找到。例如:
    // MYCALC.RC
    STRINGTABLE PRELOAD DISCARDABLE
    BEGIN
    IDR_MAINFRAME "MyCalc Windows Application Sheet Worksheet
    Worksheets (*.myc) .myc MyCalcSheet MyCalc Worksheet"
    END
    你可以使用字符串编辑器来编辑这个字符串;在字符串编辑器中整个字符串是作为一个单一的项显示的,而不是作为七个分离的项。
    有关这些资源类型的更多信息,参见子串编辑器(在“Visual C++用户指南”中被描述)。
    pDocClass指向一个文档类的CRuntimeClass对象。这个类是一个CDocument派生类,是你定义来代表你的文档的。
    pFrameClass指向框架窗口类的CRuntimeClass对象。这个类可以是一个CFrameWnd派生类,或者如果你想要你的主框架窗口具有缺省的行为,它可以是一个CFrameWnd自身。
    pViewClass指向一个视类的CRuntimeClass对象。这个类是一个CView派生类,是你定义来显示你的文档的。


    说明:

    此成员函数用来构造一个CSingleDocTemplate对象。动态分配一个CSingleDocTemplate对象,并将它从你的应用程序类的InitInstance成员函数传递给CWinApp::AddDocTemplate。


    示例:

    BOOL CMyApp::InitInstance()
    {
    // ...
    // 建立应用程序支持的文档类
    AddDocTemplate( new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS( CSheetDoc ) ),
    RUNTIME_CLASS( CFrameWnd ),
    RUNTIME_CLASS( CSheetView )
    );
    // 此方法和本文开头第一种方法类似
    }

     
  • 相关阅读:
    IT系统
    大型云计算平台的搭建以及解决方案(超详细)(http://c.biancheng.net/view/3961.html)
    E
    Codeforces Round #694 (Div. 1) B. Strange Definition
    Codeforces Round #691 (Div. 2) D. Glass Half Spilled
    Educational Codeforces Round 100 (Rated for Div. 2) 1463D. Pairs
    (指针主席树简单介绍)第k小数
    11月刷题记录
    (补题)牛客国庆集训派对day4
    蓝桥杯前最后的挣扎(雾
  • 原文地址:https://www.cnblogs.com/herbertchina/p/4306811.html
Copyright © 2011-2022 走看看