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