Plusieurs types de documents, des vues, et fenêtres frames
La relation standard entre un document, sa vue, et sa fenêtre frame est décrite dans création de document/vue.De nombreuses applications prennent en charge un type de document unique (mais éventuellement plusieurs documents ouverts de ce type) avec une vue unique sur le document et qu'une seule fenêtre frame par document.Mais certaines applications peuvent devoir modifier un ou plusieurs de ces valeurs par défaut.
Sur quels éléments souhaitez-vous obtenir des informations supplémentaires ?
Plusieurs types de documents
Plusieurs vues
Plusieurs fenêtres frame
Fenêtres fractionnées
Plusieurs types de documents
L'Assistant Application MFC crée une classe de document unique pour vous.Dans certains cas, bien que, vous pouvez devoir prendre en charge plusieurs types de document.Par exemple, votre application peut nécessiter des documents de feuille de calcul et de graphique.Chaque type de document est représenté par sa propre classe de document et éventuellement par sa propre classe d'affichage.Lorsque l'utilisateur sélectionne la nouvelle commande de fichier, l'infrastructure affiche une boîte de dialogue qui répertorie les types de document pris en charge.Il crée un document du type que l'utilisateur.Chaque type de document est géré par son propre objet de modèle de document.
Pour créer des classes supplémentaires de document, consultez l' ajouter une classe.Choisissez CDocument comme type de classe à dériver de et pour fournir les informations demandées de document.Implémentez ensuite de la nouvelle les données classe.
Pour que l'infrastructure savoir votre classe supplémentaire de le document, vous devez ajouter un deuxième appel à AddDocTemplate dans la substitution d' InitInstance de la classe d'application.Pour plus d'informations, consultez modèles de document.
Plusieurs vues
Plusieurs documents demandent simplement une vue unique, mais il est possible de prendre en charge plusieurs vue d'un document unique.Pour vous aider à implémenter des vues multiples, un objet conserve une liste de ses vues, fournit les fonctions membres pour ajouter et supprimer des vues, et fournit la fonction membre d' UpdateAllViews pour permettre plusieurs vues savent lorsque les données du document a changé.
Les MFC prend en charge trois interfaces utilisateur courantes qui requièrent des vues multiples dans la même document.Ces modèles sont :
Objets de vue de la même classe, chacune dans une fenêtre frame de document distincte MDI.
Vous pouvez prendre en charge la création d'une deuxième fenêtre frame sur un document.L'utilisateur peut sélectionner une commande nouvelle fenêtre d'ouvrir un deuxième frame avec vue sur le même document puis d'utiliser les deux frames pour afficher différentes parties du document simultanément.Elle prend en charge la commande nouvelle fenêtre dans le menu Fenêtre pour les applications MDI en dupliquant la fenêtre frame et la vue initiales jointes au document.
Objets de vue de la même classe dans la même fenêtre frame de document.
Les fenêtres fractionnées fractionne l'espace de vue d'une fenêtre de document unique dans un vues distinctes multiples du document.L'infrastructure crée plusieurs objets de vue de la même classe d'affichage.Pour plus d'informations, consultez fenêtres fractionnées.
Objets de vue de les classes individuelles dans une fenêtre frame unique.
Dans ce modèle, une variante de la fenêtre fractionnée, plusieurs vues partagent une fenêtre frame unique.Les vues sont construites de diverses classes, chaque vue fournissant une autre façon d'afficher la même document.Par exemple, une vue peut afficher un document de traitement de texte en mode normal alors que l'autre vue le affiche en mode d'ensemble.Un contrôle separator permet à l'utilisateur pour ajuster les tailles relatives des vues.
L'illustration suivante, divisé en parties A, b, c, et montre les trois modèles d'interface utilisateur dans l'ordre présentée ci-dessus.
Interfaces utilisateur de Multiple-Vue
La structure fournit ces modèles en implémentant la commande nouvelle fenêtre et en fournissant la classe CSplitterWnd, comme indiqué dans fenêtres fractionnées.Vous pouvez implémenter d'autres modèles utilisant ces derniers en tant que point de départ.Pour obtenir des exemples de programmes qui montrent différentes configurations des vues, des fenêtres frame, et les séparateurs, consultez l' exemples MFC.
Pour plus d'informations sur UpdateAllViews, consultez la classe CView dans MFC Reference et l' Exemple scribble.
Plusieurs fenêtres frame
Vous pouvez utiliser la commande nouvelle fenêtre dans le menu Fenêtre pour que les applications MDI créent une deuxième fenêtre frame sur le même document.Pour plus d'informations, consultez le premier modèle dans l'illustration interfaces utilisateur de Multiple-Vue.
Fenêtres fractionnées
Dans une fenêtre fractionnée, la fenêtre est ou, peut être, couper dans les volets deux ou plusieurs déroulants.Un contrôle separator (ou « permettant de fractionnement ») dans un frame de fenêtre en regard de les barres de défilement permet à l'utilisateur pour ajuster les tailles relatives des volets.Chaque volet est une vue dans le même document.Dans les séparateurs « dynamiques », les vues sont de la même classe, comme indiqué dans le correspondant B de l'illustration interfaces utilisateur de Multiple-Vue.Dans les séparateurs « statiques », les vues peuvent être de différentes classes.Les fenêtres fractionnées des deux types sont prises en charge par la classe CSplitterWnd.
Les fenêtres fractionnées dynamiques, avec des vues de la même classe, autorisant l'utilisateur à couper une fenêtre en plusieurs volets à le et pour faire défiler ensuite volets différents pour afficher différentes parties du document.L'utilisateur peut également unsplit la fenêtre supprimer des affichages supplémentaires.Les fenêtres fractionnées ajoutées à Exemple scribble sont un exemple.Cette rubrique décrit la technique pour créer des fenêtres fractionnées dynamiques.Une fenêtre fractionnée dynamique est affichée dans le correspondant B de l'illustration interfaces utilisateur de Multiple-Vue.
Fenêtres fractionnées statiques, avec des vues différentes classes, commencez par la fenêtre fractionnée en plusieurs volets, chacune avec un objectif différent.Par exemple, dans l'éditeur de bitmaps Visual C++, la fenêtre d'image montre deux volets côte à côte.Le volet gauche affiche une image grandeur nature de la bitmap.Le volet droit affiche une image zoomée ou agrandie de la même chose bitmap.Les volets sont séparés par une « barre de fractionnement » l'utilisateur peut faire glisser pour modifier les tailles relatives des volets.Une fenêtre fractionnée statique est affichée dans la partie C de l'illustration interfaces utilisateur de Multiple-Vue.
Pour plus d'informations, consultez la classe CSplitterWnd dans MFC Reference et exemples MFC.