00001 // vtkSq3Subdivision.cpp : Definiert das Klassenverhalten für die Anwendung. 00002 // 00003 00004 #include "stdafx.h" 00005 #include "vtkSq3Subdivision.h" 00006 #include "MainFrm.h" 00007 #include "ChildFrm.h" 00008 #include "vtkSq3SubdivisionDoc.h" 00009 #include "vtkSq3SubdivisionView.h" 00010 00011 #ifdef _DEBUG 00012 #define new DEBUG_NEW 00013 #endif 00014 00015 00016 // CvtkSq3SubdivisionApp 00017 00018 BEGIN_MESSAGE_MAP(CvtkSq3SubdivisionApp, CWinApp) 00019 ON_COMMAND(ID_APP_ABOUT, OnAppAbout) 00020 // Dateibasierte Standarddokumentbefehle 00021 ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) 00022 ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) 00023 // Standarddruckbefehl "Seite einrichten" 00024 ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup) 00025 END_MESSAGE_MAP() 00026 00027 00028 // CvtkSq3SubdivisionApp-Erstellung 00029 00030 CvtkSq3SubdivisionApp::CvtkSq3SubdivisionApp() 00031 { 00032 // TODO: Hier Code zur Konstruktion einfügen 00033 // Alle wichtigen Initialisierungen in InitInstance positionieren 00034 } 00035 00036 00037 // Das einzige CvtkSq3SubdivisionApp-Objekt 00038 00039 CvtkSq3SubdivisionApp theApp; 00040 00041 // CvtkSq3SubdivisionApp Initialisierung 00042 00043 BOOL CvtkSq3SubdivisionApp::InitInstance() 00044 { 00045 // InitCommonControls() ist für Windows XP erforderlich, wenn ein Anwendungsmanifest 00046 // die Verwendung von ComCtl32.dll Version 6 oder höher zum Aktivieren 00047 // von visuellen Stilen angibt. Ansonsten treten beim Erstellen von Fenstern Fehler auf. 00048 InitCommonControls(); 00049 00050 CWinApp::InitInstance(); 00051 00052 // OLE-Bibliotheken initialisieren 00053 if (!AfxOleInit()) 00054 { 00055 AfxMessageBox(IDP_OLE_INIT_FAILED); 00056 return FALSE; 00057 } 00058 AfxEnableControlContainer(); 00059 // Standardinitialisierung 00060 // Wenn Sie diese Features nicht verwenden und die Größe 00061 // der ausführbaren Datei verringern möchten, entfernen Sie 00062 // die nicht erforderlichen Initialisierungsroutinen. 00063 // Ändern Sie den Registrierungsschlüssel unter dem Ihre Einstellungen gespeichert sind. 00064 // TODO: Ändern Sie diese Zeichenfolge entsprechend, 00065 // z.B. zum Namen Ihrer Firma oder Organisation. 00066 SetRegistryKey(_T("Vom lokalen Anwendungs-Assistenten generierte Anwendungen")); 00067 LoadStdProfileSettings(4); // Standard INI-Dateioptionen laden (einschließlich MRU) 00068 // Dokumentvorlagen der Anwendung registrieren. Dokumentvorlagen 00069 // dienen als Verbindung zwischen Dokumenten, Rahmenfenstern und Ansichten. 00070 CMultiDocTemplate* pDocTemplate; 00071 pDocTemplate = new CMultiDocTemplate(IDR_vtkSq3SubdivisiTYPE, 00072 RUNTIME_CLASS(CvtkSq3SubdivisionDoc), 00073 RUNTIME_CLASS(CChildFrame), // Benutzerspezifischer MDI-Child-Rahmen 00074 RUNTIME_CLASS(CvtkSq3SubdivisionView)); 00075 AddDocTemplate(pDocTemplate); 00076 // Haupt-MDI-Rahmenfenster erstellen 00077 CMainFrame* pMainFrame = new CMainFrame; 00078 if (!pMainFrame->LoadFrame(IDR_MAINFRAME)) 00079 return FALSE; 00080 m_pMainWnd = pMainFrame; 00081 // Rufen Sie DragAcceptFiles nur auf, wenn eine Suffix vorhanden ist. 00082 // In einer MDI-Anwendung ist dies unmittelbar nach dem Festlegen von m_pMainWnd erforderlich 00083 // Befehlszeile parsen, um zu prüfen auf Standardumgebungsbefehle DDE, Datei offen 00084 CCommandLineInfo cmdInfo; 00085 ParseCommandLine(cmdInfo); 00086 // Verteilung der in der Befehlszeile angegebenen Befehle. Es wird FALSE zurückgegeben, wenn 00087 // die Anwendung mit /RegServer, /Register, /Unregserver oder /Unregister gestartet wurde. 00088 if (!ProcessShellCommand(cmdInfo)) 00089 return FALSE; 00090 // Das Hauptfenster ist initialisiert und kann jetzt angezeigt und aktualisiert werden. 00091 pMainFrame->ShowWindow(m_nCmdShow); 00092 pMainFrame->UpdateWindow(); 00093 return TRUE; 00094 } 00095 00096 00097 00098 // CAboutDlg-Dialogfeld für Anwendungsbefehl 'Info' 00099 00100 class CAboutDlg : public CDialog 00101 { 00102 public: 00103 CAboutDlg(); 00104 00105 // Dialogfelddaten 00106 enum { IDD = IDD_ABOUTBOX }; 00107 00108 protected: 00109 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV-Unterstützung 00110 00111 // Implementierung 00112 protected: 00113 DECLARE_MESSAGE_MAP() 00114 }; 00115 00116 CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) 00117 { 00118 } 00119 00120 void CAboutDlg::DoDataExchange(CDataExchange* pDX) 00121 { 00122 CDialog::DoDataExchange(pDX); 00123 } 00124 00125 BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) 00126 END_MESSAGE_MAP() 00127 00128 // Anwendungsbefehl zum Ausführen des Dialogfelds 00129 void CvtkSq3SubdivisionApp::OnAppAbout() 00130 { 00131 CAboutDlg aboutDlg; 00132 aboutDlg.DoModal(); 00133 } 00134 00135 00136 // CvtkSq3SubdivisionApp Meldungshandler 00137