Partager via


Documents, vues et cadre

Au cœur de l'infrastructure MFC se trouvent les concepts de document et de vue. 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 clés d’une application en cours d’exécution sont les suivants :

  • 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.

  • Objet d’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 le nettoyage. L'objet unique de l'application crée et gère les modèles de documents pour tous les types de documents pris en charge par l'application.

  • Modèle de document ou modèles

    Un modèle de document orchestre la création de documents, de vues et de 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 cadre principale. Votre classe principale de fenêtre de trame dérivée spécifie les styles et d'autres caractéristiques des fenêtres de trame qui contiennent vos vues. Si vous devez personnaliser des fenêtres de cadre, dérivez à partir de CFrameWnd pour personnaliser la fenêtre de cadre 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 à partir de CMDIChildWnd pour personnaliser chaque type distinct de fenêtres de cadre 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 à partir de COleDocument ou de 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 souhaiterez peut-être qu’un document ait plusieurs vues des données.

    Si vous avez besoin de défilement, dérivez de CScrollView. Si votre vue comporte une interface utilisateur agencé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 en cours d’exécution, ces objets répondent de manière coopérative aux actions utilisateur, liées ensemble par des commandes et d’autres messages. Un objet d’application unique 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 SDI ou MDI). L’utilisateur affiche et manipule un document par le biais d’une vue contenue dans une fenêtre frame. La figure suivante montre les relations entre ces objets pour une application SDI.

Diagramme des objets d’une application SDI en cours d’exécution.
Objets dans une application SDI en cours d’exécution

Le reste de cette famille d’articles explique comment les outils d’infrastructure, l’Assistant Application MFC et les éditeurs de ressources, créent ces objets, comment ils fonctionnent ensemble et comment vous les utilisez 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 écrire des applications pour Windows