Sdílet prostřednictvím


CMultiDocTemplate::CMultiDocTemplate

Konstrukce CMultiDocTemplate objektu.

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

Parametry

  • nIDResource
    Určuje ID zdroje použité s typem dokladu.To může zahrnovat nabídky, ikony, akcelerátor tabulky a řetězec zdroje.

    Zdroj řetězce tvoří až sedm dílčích řetězců oddělených znakem "\n" ("\n" znak je potřeba jako zástupnou, pokud podřetězec není zahrnuta; však koncové znaky "\n" nejsou nezbytné); Tyto podřetězce popisují typ dokumentu.Informace o dílčích řetězců, CDocTemplate::GetDocString.Tento zdroj řetězce naleznete v souboru prostředku aplikace.Příklad:

    // MYCALC.RC

    STRINGTABLE PRELOAD DISCARDABLE

    BEGIN

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

    END

    Všimněte si, že řetězec začíná znakem "\n"; Důvodem je první dílčí řetězec není použita pro MDI aplikace a proto není zahrnuta.Můžete upravit tento řetězec pomocí editoru řetězce; celý řetězec se zobrazí jako jedna položka v editoru řetězce, nikoli jako samostatné položky sedm.

    Další informace o vztahu typů prostředků, viz Prostředku editory.

  • pDocClass
    Odkazuje CRuntimeClass objektu třídy dokumentu.Tato třída je CDocument-odvozené třídy definovat představují dokumenty.

  • pFrameClass
    Odkazuje CRuntimeClass objektu třídy okno rámců.Tato třída může být CMDIChildWnd -odvozené třídy, nebo může být CMDIChildWnd sám, pokud chcete výchozí chování pro rámeček okna dokumentu.

  • pViewClass
    Odkazuje CRuntimeClass objektu zobrazení třídy.Tato třída je CView -odvozené třídy definovat zobrazení dokumentů.

Poznámky

Dynamicky přidělit jednu CMultiDocTemplate objekt pro každý typ dokumentu, který podporuje aplikace a předání každé z nich na CWinApp::AddDocTemplate z InitInstance členské funkce třídy vaší aplikace.

Příklad

// 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)));

Zde je druhý příklad.

// 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);

Požadavky

Záhlaví: afxwin.h

Viz také

Referenční dokumentace

Třída CMultiDocTemplate

Diagram hierarchie

CDocTemplate::GetDocString

CWinApp::AddDocTemplate

CWinApp::InitInstance

Struktura CRuntimeClass