Partager via


Fichiers d’en-tête et fichiers sources de contrôle ou de programme MFC

Les fichiers suivants sont créés quand vous créez un projet MFC dans Visual Studio, selon les options que vous sélectionnez pour le projet que vous créez. Par exemple, votre projet contient les fichiers NomProjdlg.cpp et NomProjdlg.h seulement si vous créez un projet ou une classe basés sur des boîtes de dialogue.

Tous ces fichiers sont dans le répertoire NomProj ainsi que dans le dossier Header Files (fichiers .h) ou dans le dossier Source Files (fichiers .cpp) de l’Explorateur de solutions.

Nom de fichier Description
NomProj.h Le fichier include principal pour le programme ou la DLL. Il contient tous les symboles globaux et les directives #include pour les autres fichiers d’en-tête. Il dérive la classe CPrjnameApp de CWinApp et déclare une fonction membre InitInstance. Pour un contrôle, la classe CPrjnameApp est dérivée de COleControlModule.
NomProj.cpp Fichier source du programme principal. Il crée un objet de la classe CPrjnameApp, qui est dérivée de CWinApp, et remplace la fonction membre InitInstance.

Pour les exécutables, CPrjnameApp::InitInstance effectue plusieurs actions. Elle inscrit les modèles de document, qui servent de connexion entre les documents et les vues ; elle crée une fenêtre frame principale ; elle crée un document vide (ou ouvre un document s’il est spécifié comme argument de ligne de commande pour l’application).

Pour les DLL et les contrôles ActiveX (anciennement appelés OLE), CProjNameApp::InitInstance inscrit la fabrique d’objets du contrôle auprès d’OLE en appelant COleObjectFactory::RegisterAll et fait un appel à AfxOLEInit. En outre, la fonction membre CProjNameApp::ExitInstance est utilisée pour décharger le contrôle de la mémoire avec un appel à AfxOleTerm.

Ce fichier inscrit et désinscrit également le contrôle dans la base de données d’inscription de Windows en implémentant les fonctions DllRegisterServer et DllUnregisterServer.
NomProjctrl.h, NomProjctrl.cpp Déclarez et implémentez la classe CProjnameCtrl. CProjnameCtrl est dérivé de COleControl, et des implémentations de structure de certaines fonctions membres sont définies pour initialiser, dessiner et sérialiser (charger et enregistrer) le contrôle. Des tables des messages, des événements et de dispatch sont également définies.
NomProjdlg.cpp, NomProjdlg.h Créés si vous choisissez une application basée sur des boîtes de dialogue. Ces fichiers dérivent et implémentent la classe des boîtes de dialogue, nommée CProjnameDlg, et incluent les fonctions membres de structure pour initialiser une boîte de dialogue et effectuer l’échange des données de boîte de dialogue (DDX). Votre classe de la boîte de dialogue À propos est également placée dans ces fichiers au lieu de NomProj.cpp.
Dlgproxy.cpp, Dlgproxy.h Dans un programme basé sur des boîtes de dialogue, le fichier d’implémentation et d’en-tête pour la classe de proxy Automation du projet pour la boîte de dialogue principale. Ceci est utilisé seulement si vous avez choisi la prise en charge d’Automation.
NomProjdoc.cpp, NomProjdoc.h Dérivez et implémentez la classe de document nommée CProjnameDoc, et incluez les fonctions membres de structure pour initialiser un document, sérialiser (enregistrer et charger) un document, et implémenter les diagnostics du débogage.
NomProjset.h/.cpp Créé si vous créez un programme qui prend en charge une base de données et contient la classe du recordset.
NomProjview.cpp, NomProjview.h Dérivez et implémentez la classe d’affichage, nommée CProjnameView, qui est utilisée pour afficher et imprimer les données du document. La classe CProjnameView est dérivée d’une des classes MFC suivantes :

- CEditView
- CFormView
- CRecordView
- COleDBRecordView
- CTreeView
- CListView
- CRichEditView
- CScrollView
- CView
- CHTMLView
- CHTMLEditView

La classe d’affichage du projet contient des fonctions membres de structure pour dessiner la vue et implémenter les diagnostics du débogage. Si vous avez activé la prise en charge de l’impression, des entrées de table des messages sont ajoutées pour les messages des commandes d’impression, de configuration de l’impression et d’aperçu avant impression. Ces entrées appellent les fonctions de membre correspondantes dans la classe d’affichage de base.
NomProjPropPage.h, NomProjPropPage.cpp Déclarez et implémentez la classe CProjnamePropPage. CProjnamePropPage est dérivée de COlePropertyPage et une fonction membre de structure, DoDataExchange, est fournie pour implémenter l’échange et la validation des données.
IPframe.cpp, IPframe.h Créés si l’option Mini-serveur ou Serveur complet est sélectionnée dans la page Options Automation (étape 3 sur 6) de l’Assistant Application. Les fichiers dérivent et implémentent la classe de fenêtre frame sur place, nommée CInPlaceFrame, utilisée quand le serveur est activé sur place par un programme conteneur.
Mainfrm.cpp, Mainfrm.h Dérivez la classe CMainFrame de CFrameWnd (pour les applications SDI) ou de CMDIFrameWnd (pour les applications MDI). La classe CMainFrame gère la création de boutons de barre d’outils et de la barre d’état, si les options correspondantes sont sélectionnées dans la page Options de l’application (étape 4 sur 6) de l’Assistant Application. Pour plus d’informations sur l’utilisation de CMainFrame, consultez Classes de fenêtre Frame créées par l’Assistant Application.
Childfrm.cpp, Childfrm.h Dérivez la classe CChildFrame de CMDIChildWnd. La classe CChildFrame est utilisée pour les fenêtres frame de document MDI. Ces fichiers sont toujours créés si vous sélectionnez l’option MDI.

Voir aussi

Types de fichiers créés pour les projets Visual Studio C++
Fichiers d’en-tête et fichiers sources de contrôle ou de programme ATL
Projets CLR