Compartir a través de


CMultiDocTemplate::CMultiDocTemplate

Crea un objeto CMultiDocTemplate.

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

Parámetros

  • nIDResource
    Especifica el identificador de recursos utilizados con el tipo de documento.Esto puede incluir el menú, el icono, la tabla de aceleradores, y recursos de cadena.

    El recurso de cadena consta de hasta siete subcadenas separadas por “\ carácter n” carácter (“\ n” se necesita como marcador de posición si una subcadena no se incluye; sin embargo, n que se arrastran “\ caracteres” no sea necesario); estas subcadenas describen el tipo de documento.Para obtener información sobre las subcadenas, vea CDocTemplate::GetDocString.Encuentran a este recurso de cadena en el archivo de recursos de la aplicación.Por ejemplo:

    // MYCALC.RC

    STRINGTABLE PRELOAD DISCARDABLE

    BEGIN

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

    END

    Observe que la cadena comienza con “\ carácter n”; esto es porque la primera subcadena no se utiliza para las aplicaciones MDI y así que no se cuentan.Puede modificar esta cadena mediante el editor de cadenas; la cadena completa aparece como una sola entrada en el Editor de cadenas, no como siete entradas independientes.

    Para obtener más información sobre estos tipos de recursos, vea editores de recursos.

  • pDocClass
    Señala al objeto de CRuntimeClass de la clase del documento.Esta clase es CDocument- clase derivada que se define para representar los documentos.

  • pFrameClass
    Los puntos al objeto de CRuntimeClass de la cuadro- ventana ordenan.Esta clase puede ser CMDIChildWnd- la clase derivada, o puede ser CMDIChildWnd propio si desea el comportamiento predeterminado para las ventanas de marco de documento.

  • pViewClass
    Señala al objeto de CRuntimeClass de la clase de vista.Esta clase es CView- clase derivada que se define para mostrar documentos.

Comentarios

Asigna dinámicamente un objeto de CMultiDocTemplate para cada tipo de documento que sus admite y paso cada de la aplicación a CWinApp::AddDocTemplate de funciones miembro de InitInstance de la clase de aplicación.

Ejemplo

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

A continuación se muestra un segundo ejemplo.

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

Requisitos

encabezado: afxwin.h

Vea también

Referencia

Clase de CMultiDocTemplate

Gráfico de jerarquía

CDocTemplate::GetDocString

CWinApp::AddDocTemplate

CWinApp::InitInstance

Estructura de Recursos