Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här självstudien leder dig steg för steg genom ett ATL-projekt utan attribut som skapar ett ActiveX-objekt som visar en polygon. Objektet innehåller alternativ för att tillåta användaren att ändra antalet sidor som utgör polygonen och kod för att uppdatera visningen.
Anmärkning
Den här handledningen skapar samma källkod som Polygon-exempel. Om du vill undvika att ange källkoden manuellt kan du ladda ned den från sammanfattningen av Polygon-exemplet. Du kan sedan referera till Polygon-källkoden när du går igenom självstudien eller använda den för att söka efter fel i ditt eget projekt. Kompilera genom att öppna pch.h (stdafx.h i Visual Studio 2017 och tidigare) och ersätta:
#ifndef WINVER
#define WINVER 0x0400
#endif
med
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
Kompilatorn kommer fortfarande att klaga på att regsvr32 avslutas inte korrekt, men du bör fortfarande ha kontrollens DLL-fil skapad och tillgänglig för användning.
Skapa det första ATL-projektet med hjälp av ATL-projektguiden
I Visual Studio 2017 och tidigare: Fil>nytt>projekt. Öppna fliken Visual C++ och välj MFC/ATL. Välj ATL-projekt.
I Visual Studio 2019: Välj Nytt filprojekt>> skriver du "atl" i sökrutan och väljer ATL-projekt.
Skriv Polygon som projektnamn.
Platsen för källkoden är vanligtvis standardvärdet \Users\<username>\source\repos, och en ny mapp skapas automatiskt.
I Visual Studio 2019 accepterar du standardvärdena och klickar på OK. I Visual Studio 2017 klickar du på OK för att öppna ATL-projektguiden . Klicka på Programinställningar för att se tillgängliga alternativ. Eftersom det här projektet skapar en kontroll och en kontroll måste vara en in-process-server lämnar du applikationstypen som en DLL. Klicka på OK.
Visual Studio skapar projektet genom att generera flera filer. Du kan visa dessa filer i Solution Explorer genom att expandera objektet Polygon . Filerna visas nedan.
| Fil | Beskrivning | 
|---|---|
| Polygon.cpp | Innehåller implementeringen av DllMain, DllCanUnloadNow, DllGetClassObject, DllRegisterServeroch DllUnregisterServer. Innehåller också objektkartan, som är en lista över ATL-objekten i projektet. Detta är ursprungligen tomt. | 
| Polygon.def | Den här moduldefinitionsfilen ger länkaren information om de exporter som krävs av din DLL. | 
| Polygon.idl | Språkfilen för gränssnittsdefinition, som beskriver de gränssnitt som är specifika för dina objekt. | 
| Polygon.rgs | Det här registerskriptet innehåller information om hur du registrerar programmets DLL. | 
| Polygon.rc | Resursfilen, som ursprungligen innehåller versionsinformationen och en sträng som innehåller projektnamnet. | 
| Resource.h | Huvudfilen för resursfilen. | 
| Polygonps.def | Den här moduldefinitionsfilen ger länkaren information om de exporter som krävs av proxy- och stub-koden som stöder anrop mellan lägenheter. | 
| stdafx.cpp | Filen som ska hanteras #includestdafx.h. | 
| stdafx.h | Filen som ska #include och förkompilera ATL-huvudfilerna. | 
| Fil | Beskrivning | 
|---|---|
| Polygon.cpp | Innehåller implementeringen av DllMain, DllCanUnloadNow, DllGetClassObject, DllRegisterServeroch DllUnregisterServer. Innehåller också objektkartan, som är en lista över ATL-objekten i projektet. Detta är ursprungligen tomt. | 
| Polygon.def | Den här moduldefinitionsfilen ger länkaren information om de exporter som krävs av din DLL. | 
| Polygon.idl | Språkfilen för gränssnittsdefinition, som beskriver de gränssnitt som är specifika för dina objekt. | 
| Polygon.rgs | Det här registerskriptet innehåller information om hur du registrerar programmets DLL. | 
| Polygon.rc | Resursfilen, som ursprungligen innehåller versionsinformationen och en sträng som innehåller projektnamnet. | 
| Resource.h | Huvudfilen för resursfilen. | 
| Polygonps.def | Den här moduldefinitionsfilen ger länkaren information om de exporter som krävs av proxy- och stub-koden som stöder anrop mellan lägenheter. | 
| pch.cpp | Filen som kommer att inkludera #includepch.h. | 
| pch.h | Filen som ska #include och förkompilera ATL-huvudfilerna. | 
Högerklicka på projektet i
Polygon.Klicka på Egenskaper på snabbmenyn.
Klicka på Linker. Ändra alternativet Per-UserRedirection till Ja.
Klicka på OK.
I nästa steg lägger du till en kontroll i projektet.