Partager via


Modèles de document et processus de création de document/vue

Pour gérer le processus complexe de création de documents avec leurs vues et fenêtres frame associées, l’infrastructure utilise deux classes de modèle de document : CSingleDocTemplate pour les applications SDI et CMultiDocTemplate pour les applications MDI. Un CSingleDocTemplate peut créer et stocker un document d'un type à la fois. Un CMultiDocTemplate conserve une liste de plusieurs documents ouverts d'un type.

Certaines applications prennent en charge plusieurs types de documents. Par exemple, une application peut prendre en charge les documents texte et les documents graphiques. Dans une telle application, lorsque l'utilisateur sélectionne la commande Nouveau du menu Fichier, une boîte de dialogue affiche une liste des nouveaux types de documents pouvant être ouverts. Pour chaque type de document pris en charge, l'application utilise un objet de modèle de document distinct. La figure suivante illustre la configuration d'une application MDI qui prend en charge deux types de documents et montre plusieurs documents ouverts.

Diagram of an MDI application that has two document types.
Une application MDI qui possède deux types de documents

Les modèles de document sont créés et entretenus par l'objet d'application. L'une des tâches clé effectuées pendant la fonction InitInstance de votre application consiste à créer un ou plusieurs modèles de document du type approprié. Cette fonctionnalité est décrite dans la création de modèle de document. L'objet d'application enregistre un pointeur à chaque modèle de document dans sa liste de modèles et fournit une interface pour ajouter des modèles de document.

Si vous devez prendre en charge deux types de documents ou plus, vous devez ajouter un appel supplémentaire à AddDocTemplate pour chaque type de document.

Une icône est stockée pour chaque modèle de document en fonction de sa position dans la liste des applications de modèles de document. L'ordre des modèles de document est déterminé par l'ordre dans lequel ils sont ajoutés avec les appels à AddDocTemplate. MFC suppose que la première ressource d'icône dans l'application est l'icône d'application, la ressource d'icône suivante est la première icône de document, et ainsi de suite.

Par exemple, un modèle de document est la troisième icône sur trois pour l'application. S'il existe une ressource d'icône dans l'application à l'index 3, cette icône est utilisée pour le modèle de document. Sinon, l'icône à l'index 0 est utilisée comme valeur par défaut.

Voir aussi

Rubriques MFC générales
Création de modèle de document
Création de documents/affichages
Relations entre les objets MFC
Création de documents, fenêtres et vues