Erstellen des Projekts (ATL-Lernprogramm, Teil 1)
Dieses Lernprogramm führt Sie schrittweise durch ein nicht zugeordnetes ATL-Projekt, das ein ActiveX-Objekt erstellt, welches ein Polygon anzeigt. Das Objekt enthält Optionen, mit denen der Benutzer die Anzahl der Seiten ändern kann, die das Polygon bilden, sowie Code zum Aktualisieren der Anzeige.
Hinweis
In diesem Lernprogramm wird der gleiche Quellcode wie im Polygonbeispiel erstellt. Wenn Sie vermeiden möchten, den Quellcode manuell einzugeben, können Sie ihn aus dem Beispiel für ein abstraktes Polygon herunterladen. Sie können dann beim Durcharbeiten des Lernprogramms auf den Polygon-Quellcode verweisen oder ihn verwenden, um Fehler in Ihrem eigenen Projekt zu überprüfen. Öffnen Sie zum Kompilieren pch.h (stdafx.h in Visual Studio 2017 und früher) und ersetzen Sie Folgendes:
#ifndef WINVER
#define WINVER 0x0400
#endif
durch
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
Der Compiler wird weiterhin melden, dass regsvr32
nicht ordnungsgemäß beendet wird, aber Sie sollten die DLL des Steuerelements trotzdem zur Verwendung verfügbar haben.
So erstellen Sie das erste ATL-Projekt mit dem ATL-Projekt-Assistenten
In Visual Studio 2017 und früher: Datei>Neu>Projekt. Öffnen Sie die Registerkarte Visual C++, und wählen Sie MFC/ATL aus. Wählen Sie ATL-Projekt aus.
In Visual Studio 2019: Wählen Sie Datei>Neu>Projekt, geben Sie "atl" in das Suchfeld ein, und wählen Sie ATL-Projekt aus.
Geben Sie Polygon als Projektnamen ein.
Der Speicherort für den Quellcode wird in der Regel standardmäßig auf \Users\<Benutzername>\source\repos festgelegt, und ein neuer Ordner wird automatisch erstellt.
Übernehmen Sie in Visual Studio 2019 die Standardwerte, und klicken Sie auf OK. Klicken Sie in Visual Studio 2017 auf OK, um den ATL-Projekt-Assistenten zu öffnen. Klicken Sie auf Anwendungseinstellungen, um die verfügbaren Optionen anzuzeigen. Da dieses Projekt ein Steuerelement erstellt und ein Steuerelement ein Prozessserver sein muss, belassen Sie den Anwendungstyp DLL. Klicken Sie auf OK.
Visual Studio erstellt das Projekt, indem mehrere Dateien generiert werden. Sie können diese Dateien im Projektmappen-Explorer anzeigen, indem Sie das Polygon
-Objekt erweitern. Die Dateien werden im Folgenden aufgeführt.
Datei | Beschreibung |
---|---|
Polygon.cpp | Dieser enthält die Implementierung von DllMain , DllCanUnloadNow , DllGetClassObject , DllRegisterServer und DllUnregisterServer . Enthält auch die Objektzuordnung, bei der es sich um eine Liste der ATL-Objekte in Ihrem Projekt handelt. Dieser Wert ist zunächst leer. |
Polygon.def | Diese Moduldefinitionsdatei stellt dem Linker Informationen zu den Exporten bereit, die von der DLL benötigt werden. |
Polygon.idl | Die Sprachdatei für die Schnittstellendefinition, die die für Ihre Objekte spezifischen Schnittstellen beschreibt. |
Polygon.idl | Dieses Registrierungsskript enthält Informationen zum Registrieren der DLL Ihres Programms. |
Polygon.rc | Die Ressourcendatei, die zunächst die Versionsinformationen und eine Zeichenfolge enthält, die den Projektnamen enthält. |
Resource.h | Die Headerdatei für die Ressourcendatei |
Polygonps.def | Diese Moduldefinitionsdatei stellt dem Linker Informationen zu den Exporten bereit, die vom Proxy und Stubcode benötigt werden, der Aufrufe über Apartments hinweg unterstützt. |
stdafx.cpp | Die Datei, die #include stdafx.h. |
stdafx.h | Die Datei, die #include und die ATL-Headerdateien vorkompiliert. |
Datei | Beschreibung |
---|---|
Polygon.cpp | Dieser enthält die Implementierung von DllMain , DllCanUnloadNow , DllGetClassObject , DllRegisterServer und DllUnregisterServer . Enthält auch die Objektzuordnung, bei der es sich um eine Liste der ATL-Objekte in Ihrem Projekt handelt. Dieser Wert ist zunächst leer. |
Polygon.def | Diese Moduldefinitionsdatei stellt dem Linker Informationen zu den Exporten bereit, die von der DLL benötigt werden. |
Polygon.idl | Die Sprachdatei für die Schnittstellendefinition, die die für Ihre Objekte spezifischen Schnittstellen beschreibt. |
Polygon.idl | Dieses Registrierungsskript enthält Informationen zum Registrieren der DLL Ihres Programms. |
Polygon.rc | Die Ressourcendatei, die zunächst die Versionsinformationen und eine Zeichenfolge enthält, die den Projektnamen enthält. |
Resource.h | Die Headerdatei für die Ressourcendatei |
Polygonps.def | Diese Moduldefinitionsdatei stellt dem Linker Informationen zu den Exporten bereit, die vom Proxy und Stubcode benötigt werden, der Aufrufe über Apartments hinweg unterstützt. |
pch.cpp | Die Datei, die #include pch.h. |
pch.h | Die Datei, die #include und die ATL-Headerdateien vorkompiliert. |
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt
Polygon
.Klicken Sie im Kontextmenü auf Eigenschaften.
Klicken Sie auf Linker. Ändern Sie die Option Per-UserRedirection in Ja.
Klicken Sie auf OK.
Im nächsten Schritt fügen Sie Ihrem Projekt ein Steuerelement hinzu.