Details zur ATL-Unterstützung, die vom ATL-Assistenten hinzugefügt wird
Wenn Sie ATL-Unterstützung zu einer vorhandenen ausführbaren MFC- oder DLL-Datei hinzufügen, fügt Visual Studio standardmäßig eine Headerdatei namens "framework.h " hinzu, die Direktiven enthält #include
und #define
vorprozessoriert, um die Verwendung von ATL in Ihrem Projekt zu ermöglichen. Es werden keine zusätzlichen Dateien oder Klassen hinzugefügt, wie in früheren Versionen von Visual Studio.
Wenn Sie ATL-Unterstützung zu einer vorhandenen ausführbaren MFC- oder DLL-Datei hinzufügen, nimmt Visual Studio die folgenden Änderungen am vorhandenen MFC-Projekt vor (in diesem Beispiel wird das Projekt aufgerufen MFCEXE
):
Zwei neue Dateien (eine IDL-Datei und eine RGS-Datei, die zum Registrieren des Servers verwendet wird) werden hinzugefügt.
In den Hauptanwendungsheader- und Implementierungsdateien (Mfcexe.h und Mfcexe.cpp) wird eine neue Klasse (abgeleitet von
CAtlMFCModule
) hinzugefügt. Zusätzlich zur neuen Klasse wird code zur Registrierung hinzugefügtInitInstance
. Code wird auch derExitInstance
Funktion zum Widerrufen des Klassenobjekts hinzugefügt. In der Headerdatei sind schließlich zwei neue Headerdateien (Initguid.h und Mfcexe_i.c) in der Implementierungsdatei enthalten, und die neuen GUIDs für dieCAtlMFCModule
abgeleitete Klasse deklarieren und initialisieren.Um den Server ordnungsgemäß zu registrieren, wird der Ressourcendatei des Projekts ein Eintrag für die neue RGS-Datei hinzugefügt.
Hinweise für DLL-Projekte
Wenn Sie ATL-Unterstützung zu einem MFC DLL-Projekt hinzufügen, werden einige Unterschiede angezeigt. Code wird den DLLRegisterServer
Funktionen zum Registrieren und DLLUnregisterServer
Aufheben der Registrierung der DLL hinzugefügt. Code wird auch dllCanUnloadNow und DllGetClassObject hinzugefügt.
Siehe auch
ATL-Unterstützung in einem MFC-Projekt
Hinzufügen neuer Funktionen mit Code-Assistenten
Hinzufügen einer Klasse
Hinzufügen einer Memberfunktion
Adding a Member Variable (Hinzufügen einer Membervariablen)
Overriding a Virtual Function (Überschreiben einer virtuellen Funktion)
MFC Message Handler (MFC-Meldungshandler)
Navigating the Class Structure (Navigieren in der Klassenstruktur)