Partage via


Classes de fenêtre dérivées

Vous pouvez créer des fenêtres directement à partir de CWnd, ou dériver de nouvelles classes de fenêtre à partir de CWnd. C’est la façon dont vous créez généralement vos propres fenêtres personnalisées. Toutefois, la plupart des fenêtres utilisées dans un programme d’infrastructure sont créées à partir de l’une CWnddes classes de fenêtre frame dérivées fournies par MFC.

Classes de fenêtre Frame

CFrameWnd
Utilisé pour les fenêtres frame SDI qui frament un document unique et son affichage. La fenêtre frame est à la fois la fenêtre de cadre principale de l’application et la fenêtre frame du document actif.

CMDIFrameWnd
Utilisé comme fenêtre de trame principale pour les applications MDI. La fenêtre cadre principale est un conteneur pour toutes les fenêtres de document MDI et partage sa barre de menus avec eux. Une fenêtre frame MDI est une fenêtre de niveau supérieur qui apparaît sur le bureau.

CMDIChildWnd
Utilisé pour les documents individuels ouverts dans une fenêtre de cadre principal MDI. Chaque document et son affichage sont encadrés par une fenêtre de cadre enfant MDI contenue dans la fenêtre de cadre principal MDI. Une fenêtre enfant MDI ressemble beaucoup à une fenêtre frame classique, mais elle est contenue dans une fenêtre cadre MDI au lieu d’être assise sur le bureau. Toutefois, la fenêtre enfant MDI ne dispose pas d’une barre de menus propre. Il doit partager la barre de menus de la fenêtre frame MDI qui la contient.

Pour plus d’informations, consultez Fenêtres Frame.

Autres classes de fenêtre dérivées de CWnd

En plus des fenêtres de cadre, plusieurs autres catégories principales de fenêtres sont dérivées de CWnd:

  • Views :
    Les vues sont créées à l’aide de la CWndclasse CView dérivée (ou de l’une de ses classes dérivées). Une vue est attachée à un document et sert d’intermédiaire entre le document et l’utilisateur. Une vue est une fenêtre enfant (pas un enfant MDI) qui remplit généralement la zone cliente d’une fenêtre frame SDI ou une fenêtre de cadre enfant MDI (ou cette partie de la zone cliente non couverte par une barre d’outils ou une barre d’état).

  • Boîtes de dialogue :
    Les boîtes de dialogue sont créées à l’aide de la CWndclasse CDialogdérivée -.

  • Formulaires :
    Les vues de formulaire basées sur des ressources de modèle de dialogue, telles que les boîtes de dialogue, sont créées à l’aide de classes CFormView, CRecordViewou CDaoRecordView.

  • Contrôles :
    Les contrôles tels que les boutons, les zones de liste et les zones de liste modifiable sont créés à l’aide d’autres classes dérivées de CWnd. Consultez les rubriques de contrôle.

  • Barres de contrôle :
    Fenêtres enfants qui contiennent des contrôles. Les barres d’outils et les barres d’état sont des exemples. Consultez les barres de contrôle.

Hiérarchie de classes Window

Reportez-vous au graphique hiérarchique MFC dans la référence MFC. Les vues sont expliquées dans l’architecture document/vue. Les boîtes de dialogue sont expliquées dans les boîtes de dialogue.

Création de vos propres classes de fenêtre à usage spécial

En plus des classes de fenêtre fournies par la bibliothèque de classes, vous pouvez avoir besoin de fenêtres enfants à usage spécial. Pour créer une telle fenêtre, créez votre propre CWndclasse dérivée et faites-la une fenêtre enfant d’un cadre ou d’une vue. N’oubliez pas que l’infrastructure gère l’étendue de la zone cliente d’une fenêtre de cadre de document. La plupart de la zone cliente est gérée par une vue, mais d’autres fenêtres, telles que des barres de contrôle ou vos propres fenêtres personnalisées, peuvent partager l’espace avec la vue. Vous devrez peut-être interagir avec les mécanismes des classes CView et CControlBar positionner les fenêtres enfants dans la zone cliente d’une fenêtre frame.

La création de fenêtres décrit la création d’objets de fenêtre et les fenêtres qu’ils gèrent.

Voir aussi

Objets Window