Détails de la prise en charge ATL ajoutée par l'Assistant ATL
Lorsque vous ajoutez la prise en charge ATL à un exécutable MFC ou dll existant, Visual Studio ajoute un fichier d’en-tête appelé framework.h par défaut, qui contient #include
et #define
préprocesseur des directives pour activer l’utilisation d’ATL dans votre projet. Aucun fichier ou classe supplémentaire n’est ajouté, comme cela a été fait dans les versions précédentes de Visual Studio.
Lorsque vous ajoutez la prise en charge ATL à un exécutable MFC ou dll existant, Visual Studio apporte les modifications suivantes au projet MFC existant (dans cet exemple, le projet est appelé MFCEXE
) :
Deux nouveaux fichiers (un fichier .idl et un fichier .rgs, utilisés pour inscrire le serveur) sont ajoutés.
Dans les fichiers principaux d’en-tête et d’implémentation de l’application (Mfcexe.h et Mfcexe.cpp), une nouvelle classe (dérivée de
CAtlMFCModule
) est ajoutée. Outre la nouvelle classe, le code est ajouté pourInitInstance
l’inscription. Le code est également ajouté à laExitInstance
fonction pour révoquer l’objet de classe. Dans le fichier d’en-tête, Enfin, deux nouveaux fichiers d’en-tête (Initguid.h et Mfcexe_i.c) sont inclus dans le fichier d’implémentation, déclarant et initialisant les nouveaux GUID de laCAtlMFCModule
classe dérivée.Pour inscrire correctement le serveur, une entrée pour le nouveau fichier .rgs est ajoutée au fichier de ressources du projet.
Remarques pour les projets DLL
Lorsque vous ajoutez la prise en charge ATL à un projet DLL MFC, vous verrez des différences. Le code est ajouté aux fonctions et DLLUnregisterServer
aux DLLRegisterServer
fonctions permettant d’inscrire et de désinscrire la DLL. Le code est également ajouté à DllCanUnloadNow et DllGetClassObject.
Voir aussi
Prise en charge ATL dans un projet MFC
Ajout de fonctionnalités à l’aide des Assistants Code
Ajout d’une classe
Ajout d’une fonction membre
Ajout d’une variable membre
Substitution d’une fonction virtuelle
Gestionnaire de messages MFC
Parcours de la structure de classe