Différences de programmation entre Windows Forms et MFC
Les rubriques de l’utilisation d’un contrôle utilisateur Windows Form dans MFC décrivent la prise en charge de MFC pour Windows Forms. Si vous n’êtes pas familiarisé avec la programmation .NET Framework ou MFC, cette rubrique fournit des informations générales sur les différences de programmation entre les deux.
Windows Forms est destiné à créer des applications Microsoft Windows sur le .NET Framework. Ce framework fournit un ensemble de classes moderne orienté objet et extensible qui vous permet de développer des applications windows enrichies. Avec Windows Forms, vous pouvez créer une application cliente riche qui peut accéder à un large éventail de sources de données et fournir des fonctionnalités d’affichage et de modification des données à l’aide de contrôles Windows Forms.
Toutefois, si vous êtes habitué à MFC, vous pouvez être utilisé pour créer certains types d’applications qui ne sont pas encore explicitement pris en charge dans Windows Forms. Les applications Windows Forms sont équivalentes aux applications de boîte de dialogue MFC. Toutefois, ils ne fournissent pas l’infrastructure pour prendre directement en charge d’autres types d’applications MFC tels que le serveur de documents/conteneur OLE, les documents ActiveX, la prise en charge de document/affichage pour l’interface à document unique (SDI), l’interface multidocument (MDI) et plusieurs interfaces de niveau supérieur (MTI). Vous pouvez écrire votre propre logique pour créer ces applications.
Pour plus d’informations sur les applications Windows Forms, consultez Présentation de Windows Forms.
La vue MFC ou les fonctionnalités de routage des documents et des commandes suivantes n’ont pas d’équivalents dans Windows Forms :
Intégration de Shell
MFC gère les commandes d’échange de données dynamiques (DDE) et les arguments de ligne de commande que l’interpréteur de commandes utilise lorsque vous cliquez avec le bouton droit sur un document et sélectionnez des verbes tels que Ouvrir, Modifier ou Imprimer. Windows Forms n’a pas d’intégration d’interpréteur de commandes et ne répond pas aux verbes shell.
Modèles de document
Dans MFC, les modèles de document associent un affichage, contenu dans une fenêtre frame (en mode MDI, SDI ou MTI), au document que vous avez ouvert. Windows Forms n’a pas d’équivalent aux modèles de document.
Documents
MFC inscrit les types de fichiers de document et traite le type de document lors de l’ouverture d’un document à partir de l’interpréteur de commandes. Windows Forms n’a aucune prise en charge de document.
États du document
MFC conserve des états incorrects pour le document. Par conséquent, lorsque vous fermez l’application, fermez la dernière vue qui contient l’application ou quittez Windows, MFC vous invite à enregistrer le document. Windows Forms n’a aucune prise en charge équivalente.
Commandes
MFC a le concept de commandes. La barre de menus, la barre d’outils et le menu contextuel peuvent tous appeler la même commande, par exemple Couper et Copier. Dans Windows Forms, les commandes sont étroitement liées à des événements à partir d’un élément d’interface utilisateur particulier (par exemple, un élément de menu) ; par conséquent, vous devez connecter explicitement tous les événements de commande. Vous pouvez également gérer plusieurs événements avec un seul gestionnaire dans Windows Forms. Pour plus d’informations, consultez Connexion de plusieurs événements à un seul gestionnaire d’événements dans Windows Forms.
Routage des commandes
Le routage des commandes MFC permet à l’affichage actif ou au document de traiter les commandes. Étant donné que la même commande a souvent des significations différentes pour différentes vues (par exemple, la copie se comporte différemment en mode Édition de texte que dans un éditeur graphique), les commandes doivent être gérées par l’affichage actif. Étant donné que les menus et barres d’outils Windows Forms n’ont aucune compréhension inhérente de l’affichage actif, vous ne pouvez pas avoir de gestionnaire différent pour chaque type d’affichage pour vos événements MenuItem.Click sans écrire de code interne supplémentaire.
Mécanisme de mise à jour de commande
MFC dispose d’un mécanisme de mise à jour de commande. Par conséquent, l’affichage actif ou le document est responsable de l’état des éléments de l’interface utilisateur (par exemple, l’activation ou la désactivation d’un élément de menu ou d’un bouton d’outil et d’états vérifiés). Windows Forms n’a pas d’équivalent d’un mécanisme de mise à jour de commande.