Partage via


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ée CWinThread 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 classe CMultiDocTemplate 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 de CMDIFrameWnd pour personnaliser la fenêtre de trame principale pour les applications MDI. Dérivez également une classe pour CMDIChildWnd 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 de CFormView. Pour les données de texte simples, utilisez ou dérivez de CEditView. 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 de CRecordView (pour ODBC). Sont également disponibles les classes CTreeView, CListViewet CRichEditView.

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.

Diagram of the objects in a running SDI application.
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