Condividi tramite


CMultiDocTemplate::CMultiDocTemplate

Costruisce un oggetto CMultiDocTemplate.

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

Parametri

  • nIDResource
    Specifica l'id delle risorse utilizzate dal tipo di documento. Potrebbe includere il menu, l'icona, la tabella dei tasti di scelta rapida e le risorse di tipo stringa.

    La risorsa di tipo stringa è costituito da un massimo di sette sottostringhe separate dal carattere "\ "n" carattere (\ n" necessario come supporto del posto se una sottostringa non è inclusa; tuttavia, i caratteri "\ n" di trascinamento non sono necessari); le sottostringhe descrivono il tipo di documento. Per informazioni sulle sottostringhe, vedere CDocTemplate::GetDocString. Questa risorsa di tipo stringa trovata nel file di risorse dell'applicazione. Di seguito è riportato un esempio:

    // MYCALC.RC

    STRINGTABLE PRELOAD DISCARDABLE

    BEGIN

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

    END

    Si noti che la stringa inizia con i caratteri "\ n"; questo perché la prima sottostringa non viene utilizzata per le applicazioni MDI e non è inclusa. È possibile modificare questa stringa utilizzando l'editor stringhe, l'intera stringa viene visualizzata come una singola voce nell'editor di stringhe, non come sette voci separate.

    Per ulteriori informazioni su questi tipi di risorsa, vedere editor di risorse.

  • pDocClass
    I punti all'oggetto CRuntimeClass di documento classe. Questa classe è CDocumentclasse derivata definito per rappresentare i documenti.

  • pFrameClass
    I punti all'oggetto CRuntimeClass della finestra cornice classe. Questa classe può essere CMDIChildWndnella classe derivata da, o può essere CMDIChildWnd stesso se si desidera che il comportamento predefinito per le applicazioni utilizzano il documento.

  • pViewClass
    Punti all'oggetto CRuntimeClass della classe di visualizzazione. Questa classe è CViewclasse derivata definito per visualizzare i documenti.

Note

Allocare dinamicamente un oggetto CMultiDocTemplate per ogni tipo di documento che i supporti di applicazione e sessione ciascun elemento a CWinApp::AddDocTemplate dalla funzione membro InitInstance dell'applicazione.

Esempio

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

Di seguito è riportato un secondo esempio.

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

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe CMultiDocTemplate

Grafico delle gerarchie

CDocTemplate::GetDocString

CWinApp::AddDocTemplate

CWinApp::InitInstance

Struttura CRuntimeClass