Partager via


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

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. A CMultiDocTemplate conserve une liste de nombreux 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 choisit la commande Nouveau dans le menu Fichier, une boîte de dialogue affiche une liste des nouveaux types de documents possibles à ouvrir. 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 affiche plusieurs documents ouverts.

Diagramme d’une application MDI qui a deux types de documents.
Application MDI avec deux types de documents

Les modèles de document sont créés et gérés par l’objet d’application. L'une des tâches clés effectuées pendant la fonction de InitInstance de votre application consiste à élaborer un ou plusieurs modèles de documents du type approprié. Cette fonctionnalité est décrite dans la création de modèle de document. L’objet application stocke un pointeur vers chaque modèle de document dans sa liste de modèles et fournit une interface permettant d’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 inscrite pour chaque modèle de document en fonction de sa position dans la liste des modèles de document de l’application. L’ordre des modèles de document est déterminé par l’ordre dans lequel ils sont ajoutés avec des appels à AddDocTemplate. MFC suppose que la première ressource Icône dans l’application est l’icône d’application, la ressource Icône suivante est la première icône de document, et ainsi de suite.

Par exemple, un modèle de document est le troisième de trois pour l’application. S’il existe une ressource Icône dans l’application à l’index 3, cette icône est utilisée pour le modèle de document. Si ce n’est pas le cas, l’icône à l’index 0 est utilisée comme valeur par défaut.

Voir aussi

Rubriques MFC générales
Création d’un modèle de document
Création de documents/affichages
Relations entre les objets MFC
Création de nouveaux documents, Windows et vues