CMultiDocTemplate::CMultiDocTemplate

Erstellt ein CMultiDocTemplate-Objekt.

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

Parameter

  • nIDResource
    Gibt die ID der Ressourcen an, die dem Dokumenttyp verwendet werden.Dies kann Menü, Symbol, Zugriffstastentabelle und Zeichenfolgenressourcen ein.

    Die Zeichenfolgenressource besteht aus bis zu sieben Teilzeichenfolgen, die vom "\ n" Zeichen getrennt werden (das "\ n" Zeichen wird als Platzhalter erforderlich, wenn eine Teilzeichenfolge nicht eingeschlossen ist, jedoch Abschließendes "\ n" sind Zeichen nicht notwendig); diese Teilzeichenfolgen beschreiben den Dokumenttyp.Informationen über die Teilzeichenfolgen, finden Sie unter CDocTemplate::GetDocString.Diese Zeichenfolgenressource wird in der Ressourcendatei der Anwendung gefunden.Beispiel:

    // MYCALC.RC

    STRINGTABLE PRELOAD DISCARDABLE

    BEGIN

    IDR_SHEETTYPE "\nSheet\nWorksheet\nWorksheets (*.myc)\n.myc\n MyCalcSheet\nMyCalc Worksheet"

    END

    Beachten Sie, dass die Zeichenfolge mit einem "\ n" Zeichen beginnt; Dies ist, da die erste Teilzeichenfolge nicht für MDI-Anwendungen verwendet wird und deshalb ist nicht enthalten.Sie können diese Zeichenfolge mit dem Zeichenfolgen-Editor bearbeiten; die gesamte Zeichenfolge wird als einzelner Eintrag im Editor, nicht als sieben mehrere Einträge.

    Weitere Informationen zu diesen Ressourcentypen, finden Sie unter Ressourcen-Editoren.

  • pDocClass
    Zeigt auf CRuntimeClass-Objekt der Dokumentklasse.Diese Klasse ist CDocument von abgeleitete Klasse, die Sie definieren, um die Dokumente darzustellen.

  • pFrameClass
    Zeigt auf CRuntimeClass-Objekt des Rahmenfensters darstellen.Diese Klasse kann CMDIChildWnd sein von abgeleitete Klasse oder es können CMDIChildWnd sein, selbst wenn Sie Standardverhalten für die Dokumentrahmenfenster soll.

  • pViewClass
    Zeigt auf CRuntimeClass-Objekt der Ansichtsklasse.Diese Klasse ist CView von abgeleitete Klasse, die Sie definieren, um die Dokumente anzuzeigen.

Hinweise

Ordnen Sie dynamisch ein CMultiDocTemplate-Objekt für jeden Dokumenttyp die Anwendungen und jede Phase zu CWinApp::AddDocTemplate aus der InitInstance-Memberfunktion der Anwendungsklasse zu.

Beispiel

// Code fragment from CMyApp::InitInstance

// Establish all of the document types
// supported by the application

AddDocTemplate(new CMultiDocTemplate(IDR_BRUSHDOCTYPE,
   RUNTIME_CLASS(CBrushDoc),
   RUNTIME_CLASS(CChildFrame),
   RUNTIME_CLASS(CBrushView)));

AddDocTemplate(new CMultiDocTemplate(IDR_DCDOCTYPE,
   RUNTIME_CLASS(CDCDoc),
   RUNTIME_CLASS(CChildFrame),
   RUNTIME_CLASS(CDCView)));

Im Folgenden ein zweites Beispiel.

// Code fragment taken from CMyApp::InitInstance

// Normally, an application creates a document 
// template and registers it with MFC as a part
// of its initialization.

// IDR_EXAMPLEDOCTYPE is a resource ID string; see
// the CDocTemplate class overview documentation
// for more information on its format.

// The next three parameters use the RUNTIME_CLASS()
// macro to get runtime type information for the doc,
// frame, and view classes that will be associated
// by the template.

pDocTemplate = new CMultiDocTemplate(IDR_EXAMPLEDOCTYPE,
   RUNTIME_CLASS(CExampleDoc),
   RUNTIME_CLASS(CChildFrame),
   RUNTIME_CLASS(CExampleView));
if (!pDocTemplate)
   return FALSE;

// After the following call, MFC is aware of the doc
// template and will free it when the application is
// shut down. The doc templates known to MFC will
// automatically be used when CWinApp:OnFileOpen()
// or CWinApp::OnFileNew() are called.

AddDocTemplate(pDocTemplate);

Anforderungen

Header: afxwin.h

Siehe auch

Referenz

CMultiDocTemplate-Klasse

Hierarchien-Diagramm

CDocTemplate::GetDocString

CWinApp::AddDocTemplate

CWinApp::InitInstance

CRuntimeClass-Struktur