Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce didacticiel vous guide pas à pas dans un projet ATL non attribué qui crée un objet ActiveX affichant un polygone. L’objet inclut des options permettant à l’utilisateur de modifier le nombre de côtés constituant le polygone et le code pour actualiser l’affichage.
Note
Ce didacticiel crée le même code source que l’exemple Polygon. Si vous souhaitez éviter d’entrer manuellement le code source, vous pouvez le télécharger à partir du résumé de l’exemple Polygon. Vous pouvez ensuite faire référence au code source Polygon pendant que vous suivez le didacticiel, ou l’utiliser pour rechercher des erreurs dans votre propre projet. Pour compiler, ouvrez pch.h (stdafx.h dans Visual Studio 2017 et versions antérieures) et remplacez :
#ifndef WINVER
#define WINVER 0x0400
#endif
par
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
Le compilateur se plaindra toujours de la sortie incorrecte de regsvr32, mais vous devez toujours avoir la DLL du contrôle générée et disponible pour l’utilisation.
Pour créer le projet ATL initial à l’aide de l’Assistant Projet ATL
Dans Visual Studio 2017 et versions antérieures : Fichier>Nouveau>Projet. Ouvrez ensuite l’onglet Visual C++ et sélectionnez MFC/ATL. Sélectionnez Projet ATL.
Dans Visual Studio 2019 : choisissez Fichier>Nouveau>Projet, tapez « atl » dans la zone de recherche, puis choisissez Projet ATL.
Tapez Polygon comme nom de projet.
L’emplacement du code source est généralement défini par défaut sur \Users\<nom d’utilisateur>\source\repos, et un nouveau dossier est créé automatiquement.
Dans Visual Studio 2019, acceptez les valeurs par défaut, puis cliquez sur OK. Dans Visual Studio 2017, cliquez sur OK pour ouvrir l’Assistant Projet ATL. Cliquez sur Paramètres de l’application pour afficher les options disponibles. Étant donné que ce projet crée un contrôle et qu’un contrôle doit être un serveur in-process, laissez le champ Type d’application sur DLL. Cliquez sur OK.
Visual Studio crée le projet en générant plusieurs fichiers. Vous pouvez afficher ces fichiers dans l’Explorateur de solutions en développant l’objet Polygon. Les fichiers sont listés ci-dessous.
| Fichier | Descriptif |
|---|---|
| Polygon.cpp | Contient l’implémentation de DllMain, DllCanUnloadNow, DllGetClassObject, DllRegisterServer et DllUnregisterServer. Contient également la carte d’objets, qui est une liste des objets ATL dans votre projet. Celle-ci est initialement vide. |
| Polygon.def | Ce fichier de définition de module fournit à l’éditeur de liens des informations sur les exportations requises par votre DLL. |
| Polygon.idl | Le fichier Interface Definition Language (IDL), qui décrit les interfaces spécifiques à vos objets. |
| Polygon.rgs | Ce script de registre contient des informations sur l’inscription de la DLL de votre programme. |
| Polygon.rc | Le fichier de ressources, qui contient initialement les informations de version et une chaîne contenant le nom du projet. |
| Resource.h | Fichier d’en-tête pour le fichier de ressources. |
| Polygonps.def | Ce fichier de définition de module fournit à l’éditeur de liens des informations sur les exportations requises par le code proxy et stub qui prennent en charge les appels entre appartements. |
| stdafx.cpp | Le fichier qui va #includestdafx.h. |
| stdafx.h | Le fichier qui va #include et précompiler les fichiers d’en-tête ATL. |
| Fichier | Descriptif |
|---|---|
| Polygon.cpp | Contient l’implémentation de DllMain, DllCanUnloadNow, DllGetClassObject, DllRegisterServer et DllUnregisterServer. Contient également la carte d’objets, qui est une liste des objets ATL dans votre projet. Celle-ci est initialement vide. |
| Polygon.def | Ce fichier de définition de module fournit à l’éditeur de liens des informations sur les exportations requises par votre DLL. |
| Polygon.idl | Le fichier Interface Definition Language (IDL), qui décrit les interfaces spécifiques à vos objets. |
| Polygon.rgs | Ce script de registre contient des informations sur l’inscription de la DLL de votre programme. |
| Polygon.rc | Le fichier de ressources, qui contient initialement les informations de version et une chaîne contenant le nom du projet. |
| Resource.h | Fichier d’en-tête pour le fichier de ressources. |
| Polygonps.def | Ce fichier de définition de module fournit à l’éditeur de liens des informations sur les exportations requises par le code proxy et stub qui prennent en charge les appels entre appartements. |
| pch.cpp | Le fichier qui va #includepch.h. |
| pch.h | Le fichier qui va #include et précompiler les fichiers d’en-tête ATL. |
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet
Polygon.Dans le menu contextuel, cliquez sur Propriétés.
Cliquez sur Éditeur de liens. Remplacez l’option Per-UserRedirection par Oui.
Cliquez sur OK.
À l’étape suivante, vous allez ajouter un contrôle à votre projet.