Partager via


Une orientation verticale de l'architecture Document/Vue

Les documents et les vues sont appariés dans une application classique MFC. 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 la vue sépare le stockage et la gestion des données de son affichage.

Accéder aux données de document de la vue

La vue accède aux données de son document soit avec la fonction GetDocument, qui retourne un pointeur vers le document, ou en faisant de la classe un objet C++ friend de la classe de document. La vue utilise ensuite l'accès aux données pour obtenir les données lorsqu'il est prêt à dessiner ou manipuler d'une autre façon.

Par exemple, de la méthode OnDraw de la vue, la vue utilise GetDocument pour obtenir un pointeur de document. Elle utilise ce pointeur pour accéder à un membre de données CString dans le document. La vue passe la chaîne à la fonction TextOut. Pour afficher le code pour cet exemple, consultez Dessiner dans une vue.

Entrée à la vue

La vue peut également interpréter un clic de souris dans elle-même comme une sélection ou modification des données. De même elle peut interpréter les séquences de clés comme entrée de données ou modification. Supposons que l'utilisateur entre une chaîne dans une vue qui gère le texte. La vue obtient un pointeur au document et utilise le pointeur pour passer les nouvelles données au document, qui l'enregistre dans une certaine structure de données.

Mettre à jour plusieurs vues du même document

Dans une application avec plusieurs vues du même document — telles qu'une fenêtre séparée dans un éditeur de texte — la vue passe d'abord les nouvelles données du document. Elle appelle ensuite la méthode UpdateAllViews du document, qui dit à toutes les vues du document de se mettre à jour, en renvoyant les nouvelles données. Ceci synchronise les vues.

Sur quels éléments souhaitez-vous obtenir des informations supplémentaires ?

Voir aussi

Concepts

architecture Document/Vue