Partager via


CMultiDocTemplate::CMultiDocTemplate

Construit un objet CMultiDocTemplate.

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

Paramètres

  • nIDResource
    Spécifie l'ID les ressources utilisées par le type de document.Cela peut inclure le menu, l'icône, la table d'accélérateurs, et les ressources de type chaîne.

    La ressource de type chaîne se compose de jusqu'à sept sous-chaînes séparées par le caractère « « \ n » caractère (\ n » est nécessaire en tant qu'espace réservé si une sous-chaîne n'est pas inclus ; toutefois, les caractères « \ n » de fin ne sont pas nécessaires) ; les sous-chaînes décrivent le type de document.Pour plus d'informations sur les sous-chaînes, consultez CDocTemplate::GetDocString.Cette ressource de type chaîne est trouvée dans le fichier de ressources de l'application.Par exemple :

    // MYCALC.RC

    STRINGTABLE PRELOAD DISCARDABLE

    BEGIN

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

    END

    Notez que la chaîne commence par des applications '\ne character; this is because the first substring is not used for MDI et donc n'êtes pas inclus.Vous pouvez modifier cette chaîne à l'aide de l'éditeur de chaînes ; la chaîne entière apparaît comme entrée unique dans l'Éditeur de chaînes, et non comme sept entrées distinctes.

    Pour plus d'informations sur ces types de ressource, consultez l' éditeurs de ressources.

  • pDocClass
    Pointe vers l'objet d' CRuntimeClass de le fichier.Cette classe est CDocumentclasse dérivée que vous définissez pour représenter vos documents.

  • pFrameClass
    Pointe vers l'objet d' CRuntimeClass de la classe de fenêtre frame.Cette classe peut être CMDIChildWnd- la classe dérivée, ou peut être CMDIChildWnd lui-même si vous souhaitez que le comportement par défaut pour vos fenêtres frames de document.

  • pViewClass
    Pointe vers l'objet d' CRuntimeClass de la classe d'affichage.Cette classe est CViewclasse dérivée que vous définissez pour consulter vos documents.

Notes

Allouez dynamiquement un objet d' CMultiDocTemplate pour chaque type de document que votre application prend en charge les applications et exécuter chacune à CWinApp::AddDocTemplate de la fonction membre d' InitInstance de votre classe d'application.

Exemple

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

Voici un deuxième exemple.

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

Configuration requise

Header: afxwin.h

Voir aussi

Référence

Classe de CMultiDocTemplate

Graphique de la hiérarchie

CDocTemplate::GetDocString

CWinApp::AddDocTemplate

CWinApp::InitInstance

Structure de CRuntimeClass