Partager via


Portrait de l'architecture document/vue

Les documents et les vues sont associés dans une application MFC classique. Les données sont stockées dans le document, mais la vue a un accès privilégié aux données. La séparation du document de l’affichage sépare le stockage et la maintenance des données de son affichage.

Obtention de l’accès aux données de document à partir de la vue

La vue accède aux données de son document avec la fonction GetDocument , qui retourne un pointeur vers le document ou en rendant la classe d’affichage C++ friend de la classe de document. La vue utilise ensuite son accès aux données pour obtenir les données lorsqu’elles sont prêtes à dessiner ou à les manipuler.

Par exemple, à partir de la fonction membre OnDraw de la vue, l’affichage utilise GetDocument pour obtenir un pointeur de document. Ensuite, il utilise ce pointeur pour accéder à un CString membre de données dans le document. La vue transmet la chaîne à la TextOut fonction. Pour afficher le code de cet exemple, consultez Dessin dans une vue.

Entrée utilisateur dans la vue

La vue peut également interpréter un clic de souris en lui-même comme sélection ou modification de données. De même, il peut interpréter les séquences de touches en tant qu’entrée de données ou modification. Supposons que l’utilisateur tape une chaîne dans une vue qui gère le texte. La vue obtient un pointeur vers le document et utilise le pointeur pour transmettre les nouvelles données au document, qui les stocke dans une structure de données.

Mise à jour de plusieurs vues du même document

Dans une application avec plusieurs vues du même document, comme une fenêtre de fractionnement dans un éditeur de texte, la vue transmet d’abord les nouvelles données au document. Ensuite, il appelle la fonction membre UpdateAllViews du document, qui indique à toutes les vues du document de se mettre à jour, reflétant les nouvelles données. Cela synchronise les vues.

Que voulez-vous en savoir plus sur

Voir aussi

Architecture de document/affichage