Un vertical de l'architecture Document/Vue
Les documents et les vues sont appariés dans une application type MFC.Les données sont stockées dans le document, mais la vue a accès privilégié aux données.La séparation du document de la vue sépare le stockage et la maintenance des données de son affichage.
Accéder pour documenter les données de la vue
La vue accède aux données de son document l'un ou l'autre avec la fonction de GetDocument , qui retourne un pointeur vers le document, ou en faisant le en C++ friend de classe d'affichage 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 à la dessiner ou manipuler sinon.
Par exemple, la fonction membre d' OnDraw de la vue, la vue utilise GetDocument pour obtenir un pointeur de document.Elle utilise ce pointeur pour accéder à une donnée membre d' CString dans le document.La vue passe la chaîne à la fonction d' TextOut .Pour consulter le code de cet exemple, consultez dessiner dans une vue.
Entrée d'utilisateur à la vue
La vue peut également interpréter un clic de souris dans elle-même comme la sélection ou modification des données.De même elle peut interpréter les séquences de touches comme entrée de données ou modification.Supposez 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 passer les nouvelles données au document, qui l'enregistre dans une structure de données.
Mettre à jour plusieurs affichages du même document
Dans une application avec plusieurs affichages du même document (tel qu'une fenêtre fractionnée dans un éditeur de texte — la vue passe d'abord les nouvelles données au document.Il appelle la fonction membre d' UpdateAllViews de le document, qui indique toutes les vues de le document se mettre à jour, représentant les nouvelles données.Cela synchronise les vues.