MFC-Programm- oder Steuerelement-Quell- und Headerdateien
Aktualisiert: November 2007
Abhängig von den Optionen, die Sie für das erstellte Projekt auswählen, werden bei der Erstellung eines MFC-Projekts in Visual Studio die folgenden Dateien generiert. Beispielsweise enthält das Projekt die Dateien Projnamedlg.cpp und Projnamedlg.h nur unter der Voraussetzung, dass Sie ein auf Dialogfeldern basierendes Projekt oder eine Klasse erstellen.
Alle diese Dateien sind im Verzeichnis Projname und im Projektmappen-Explorer entweder im Ordner Headerdateien (H-Dateien) oder im Ordner Quelldateien (CPP-Dateien) enthalten.
Dateiname |
Beschreibung |
---|---|
Projname.h |
Zentrale Includedatei für das Programm oder die DLL. Sie enthält alle globalen Symbole und #include-Anweisungen für andere Headerdateien. Durch diese Datei wird die CPrjnameApp-Klasse von CWinApp abgeleitet und eine InitInstance-Memberfunktion deklariert. Bei einem Steuerelement wird die CPrjnameApp-Klasse von COleControlModule abgeleitet. |
Projname.cpp |
Zentrale Programmquelldatei. Sie erstellt ein Objekt der von CWinApp abgeleiteten CPrjnameApp-Klasse und überschreibt die Memberfunktion InitInstance. Bei ausführbaren Dateien hat CPrjnameApp::InitInstance verschiedene Funktionen: Sie registriert Dokumentvorlagen, die als Verbindung zwischen Dokumenten und Ansichten verwendet werden, erstellt ein Hauptrahmenfenster und ein leeres Dokument (oder öffnet ein Dokument, wenn es als Befehlszeilenargument für die Anwendung angegeben ist). Bei DLLs und ActiveX-Steuerelementen (früher OLE) registriert CProjNameApp::InitInstance die Objekterstellung durch das Steuerelement bei OLE, indem COleObjectFactory::RegisterAll aufgerufen und ein Aufruf an AfxOLEInit gesendet wird. Außerdem wird die Memberfunktion CProjNameApp::ExitInstance verwendet, um das Steuerelement mit einem Aufruf von AfxOleTerm aus dem Speicher zu entfernen. Diese Datei sorgt auch für die Registrierung bzw. Aufhebung der Registrierung des Steuerelements in der Windows-Registrierungsdatenbank, indem sie die Funktionen DllRegisterServer und DllUnregisterServer implementiert. |
Projnamectrl.h, Projnamectrl.cpp |
Durch diese Dateien wird die CProjnameCtrl-Klasse deklariert und implementiert. CProjnameCtrl wird von COleControl abgeleitet, und außerdem wird ein Gerüst von Implementierungen einiger Memberfunktionen definiert, die das Steuerelement initialisieren, zeichnen und serialisieren (laden und speichern). Meldungs-, Ereignis- und Dispatchzuordnungen werden ebenfalls definiert. |
Projnamedlg.cpp, Projnamedlg.h |
Diese Dateien werden erstellt, wenn Sie eine auf Dialogfeldern basierende Anwendung wählen. Durch diese Dateien wird die CProjnameDlg-Dialogfeldklasse abgeleitet und implementiert. Sie enthalten ein Gerüst von Memberfunktionen zur Initialisierung eines Dialogfelds und zur Ausführung eines Dialogdatenaustausches (DDX). Außerdem ist die Info-Dialogfeldklasse anstelle von Projname.cpp in diesen Dateien enthalten. |
Dlgproxy.cpp, Dlgproxy.h |
In einem auf Dialogfeldern basierenden Programm sind dies die Implementierungs- und Headerdatei für die projektspezifische Automatisierungsproxyklasse des Hauptdialogfelds. Sie werden nur verwendet, wenn Sie die Automatisierungsunterstützung aktiviert haben. |
Projnamedoc.cpp, Projnamedoc.h |
Durch diese Dateien wird die CProjnameDoc-Dokumentklasse abgeleitet und implementiert. Sie enthalten ein Gerüst von Memberfunktionen zur Initialisierung und Serialisierung (Speichern und Laden) eines Dokuments und implementieren außerdem Diagnosedienste für das Debuggen. |
Projnameset.h/.cpp |
Diese Dateien werden erstellt, wenn Sie ein Programm entwickeln, das eine Datenbank unterstützt und die Recordsetklasse enthält. |
Projnameview.cpp, Projnameview.h |
Durch diese Dateien wird die CProjnameView-Ansichtsklasse abgeleitet und implementiert, die zum Anzeigen und Drucken der Dokumentdaten verwendet wird. Die CProjnameView-Klasse wird von einer der folgenden MFC-Klassen abgeleitet: Die Ansichtsklasse des Projekts enthält ein Gerüst von Memberfunktionen, durch die die Ansicht gezeichnet und Diagnosedienste für das Debuggen implementiert werden. Falls Sie Druckunterstützung aktiviert haben, werden Meldungszuordnungseinträge für Druck-, Druckeinrichtungs- und Seitenansichts-Befehlsmeldungen hinzugefügt. Durch diese Einträge werden die entsprechenden Memberfunktionen in der Basisansichtsklasse aufgerufen. |
ProjnamePropPage.h, ProjnamePropPage.cpp |
Durch diese Dateien wird die CProjnamePropPage-Klasse deklariert und implementiert. CProjnamePropPage wird von COlePropertyPage abgeleitet, und für Datenaustausch und -validierung steht ein Gerüst der Memberfunktion DoDataExchange zur Verfügung. |
IPframe.cpp, IPframe.h |
Diese Dateien werden erstellt, wenn auf der Seite mit den Automatisierungsoptionen des Anwendungs-Assistenten (Schritt 3 von 6) die Option Miniserver oder Vollserver ausgewählt wird. Durch diese Dateien wird die direkte CInPlaceFrame-Rahmenfensterklasse abgeleitet und implementiert. Diese Klasse wird verwendet, wenn der Server direkt durch ein Containerprogramm aktiviert wird. |
Mainfrm.cpp, Mainfrm.h |
Durch diese Dateien wird die CMainFrame-Klasse entweder von CFrameWnd (für SDI-Anwendungen) oder von CMDIFrameWnd (für MDI-Anwendungen) abgeleitet. Die CMainFrame-Klasse verarbeitet die Erstellung der Symbolleisten-Schaltflächen und der Statusleiste, sofern die entsprechenden Optionen auf der Seite Anwendungsoptionen (Schritt 4 von 6) des Anwendungs-Assistenten ausgewählt wurden. Informationen zur Verwendung von CMainFrame finden Sie unter Die vom Anwendungs-Assistenten erstellten Rahmenfensterklassen. |
Childfrm.cpp, Childfrm.h |
Durch diese Dateien wird die CChildFrame-Klasse von CMDIChildWnd abgeleitet. Die CChildFrame-Klasse wird für MDI-Dokumentrahmenfenster verwendet. Diese Dateien werden immer erstellt, wenn Sie die MDI-Option ausgewählt haben. |
Siehe auch
Konzepte
Für Visual C++-Projekte erstellte Dateitypen