Documents, affichages et infrastructure
Les concepts du document et de la vue sont au cœur du framework MFC. Un document est un objet de données avec lequel l'utilisateur interagit dans une session d'édition. Il est créé par la commande Nouveau ou Ouvrir dans le menu Fichier et est généralement enregistré dans un fichier. (Les documents MFC standard, dérivés de la classe CDocument
, sont différents des documents actifs et des documents composés OLE.) Une vue est un objet de fenêtre via lequel l’utilisateur interagit avec un document.
Les objets principaux dans une application active sont :
Les objets thread
Si votre application crée des threads distincts d’exécution( par exemple, pour effectuer des calculs en arrière-plan), vous allez utiliser des classes dérivées de
CWinThread
.CWinApp
elle-même est dérivéeCWinThread
et représente le thread principal d’exécution (ou le processus principal) dans votre application. Vous pouvez également utiliser MFC dans les threads secondaires.L'objet application
Votre classe d’application (dérivée de
CWinApp
) contrôle tous les objets ci-dessus et spécifie le comportement de l’application, comme l’initialisation et la propre up. Le seul et unique objet d'application de l'application crée et gère les modèles de document pour tout type de document pris en charge par l'application.Le(s) modèle(s) de document
Un modèle de document orchestre la création des documents, des vues et des fenêtres frame. Une classe de modèle de document particulière, dérivée de la classe
CDocTemplate
, crée et gère tous les documents ouverts d’un type. Les applications qui prennent en charge plusieurs types de documents ont plusieurs modèles de document. Utilisez la classe CSingleDocTemplate pour les applications SDI ou utilisez la classeCMultiDocTemplate
pour les applications MDI.Les fenêtres frame
Les vues sont affichées à l’intérieur de « fenêtres cadre de document ». Dans une application SDI, la fenêtre frame de document est également la « fenêtre cadre principale » de l’application. Dans une application MDI, les fenêtres de document sont des fenêtres enfants affichées à l'intérieur d'une fenêtre frame principale. Votre classe dérivée de fenêtre frame principale spécifie les styles et d'autres fonctionnalités des fenêtres frame qui contiennent les vues. Si vous devez personnaliser des fenêtres d’images, dérivez de
CFrameWnd
la fenêtre de trame de document pour les applications SDI. Dérivez deCMDIFrameWnd
pour personnaliser la fenêtre de trame principale pour les applications MDI. Dérivez également une classe pourCMDIChildWnd
personnaliser chaque type distinct de fenêtres d’images de document MDI que votre application prend en charge.Le document ou les documents.
Votre classe de document (dérivée de
CDocument
) spécifie les données de votre application.Si vous souhaitez des fonctionnalités OLE dans votre application, dérivez votre classe de document ou
COleDocument
l’une de ses classes dérivées, en fonction du type de fonctionnalité dont vous avez besoin.La vue ou les vues.
Votre classe d’affichage (dérivée de
CView
) est la « fenêtre » de l’utilisateur sur les données. La classe d’affichage contrôle la façon dont l’utilisateur voit les données de votre document et interagit avec lui. Dans certains cas, vous pouvez vouloir un document avec plusieurs vues des données.Si vous avez besoin de défilement, dérivez de
CScrollView
. Si votre vue a une interface utilisateur qui est disposée dans une ressource de modèle de dialogue, dérivez deCFormView
. Pour les données de texte simples, utilisez ou dérivez deCEditView
. Pour une application d’accès aux données basée sur un formulaire, telle qu’un programme d’entrée de données, dérivez deCRecordView
(pour ODBC). Sont également disponibles les classesCTreeView
,CListView
etCRichEditView
.
Dans une application active, ces objets répondent en coopération aux actions de l'utilisateur, liés par des commandes et d'autres messages. Un objet d'application gère un ou plusieurs modèles de document. Chaque modèle de document crée et gère un ou plusieurs documents (selon que l'application est de type SDI ou MDI). L'utilisateur voit et manipule un document dans une vue contenue dans une fenêtre frame. L'illustration suivante montre les relations entre les objets pour une application SDI.
Objets dans une application SDI en cours d'exécution
Le reste de cette famille d'articles explique comment les outils de framework, l'Assistant Application MFC et les éditeurs de ressources créent ces objets, comment ils fonctionnement conjointement et comment les utiliser dans votre programmation. Les documents, les vues et les fenêtres frame sont abordés plus en détail dans les objets de fenêtre et l’architecture de document/vue.
Voir aussi
Utilisation des classes pour l’écriture d’applications pour Windows