// MeshEditor.cpp : アプリケーション用クラスの機能定義を行います。 // #include "stdafx.h" #include "MeshEditor.h" #include "MainFrm.h" #include "ChildFrm.h" #include "MeshEditorDoc.h" #include "MeshEditorView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMeshEditorApp BEGIN_MESSAGE_MAP(CMeshEditorApp, CWinApp) //{{AFX_MSG_MAP(CMeshEditorApp) ON_COMMAND(ID_APP_ABOUT, OnAppAbout) //}}AFX_MSG_MAP // 標準のファイル基本ドキュメント コマンド ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew) ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen) END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMeshEditorApp クラスの構築 CMeshEditorApp::CMeshEditorApp() { } ///////////////////////////////////////////////////////////////////////////// // 唯一の CMeshEditorApp オブジェクト CMeshEditorApp theApp; ///////////////////////////////////////////////////////////////////////////// // CMeshEditorApp クラスの初期化 BOOL CMeshEditorApp::InitInstance() { AfxEnableControlContainer(); // 標準的な初期化処理 #ifdef _AFXDLL Enable3dControls(); // 共有 DLL の中で MFC を使用する場合にはここを呼び出してください。 #else Enable3dControlsStatic(); // MFC と静的にリンクしている場合にはここを呼び出してください。 #endif // 設定が保存される下のレジストリ キーを変更します。 SetRegistryKey(_T("Local AppWizard-Generated Applications")); LoadStdProfileSettings(); // 標準の INI ファイルのオプションをロードします (MRU を含む) // ドキュメント テンプレートを登録します。 CMultiDocTemplate* pDocTemplate; pDocTemplate = new CMultiDocTemplate( IDR_MESHEDTYPE, RUNTIME_CLASS(CMeshEditorDoc), RUNTIME_CLASS(CChildFrame), // カスタム MDI 子フレーム RUNTIME_CLASS(CMeshEditorView)); AddDocTemplate(pDocTemplate); // メイン MDI フレーム ウィンドウを作成 CMainFrame* pMainFrame = new CMainFrame; if (!pMainFrame->LoadFrame(IDR_MAINFRAME)) return FALSE; m_pMainWnd = pMainFrame; // DDE、file open など標準のシェル コマンドのコマンドラインを解析します。 CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); // コマンドラインでディスパッチ コマンドを指定します。 if (!ProcessShellCommand(cmdInfo)) return FALSE; pMainFrame->ShowWindow(m_nCmdShow); pMainFrame->UpdateWindow(); return TRUE; } ///////////////////////////////////////////////////////////////////////////// // アプリケーションのバージョン情報で使われる CAboutDlg ダイアログ class CAboutDlg : public CDialog { public: CAboutDlg(); // ダイアログ データ //{{AFX_DATA(CAboutDlg) enum { IDD = IDD_ABOUTBOX }; //}}AFX_DATA // ClassWizard 仮想関数のオーバーライドを生成します。 //{{AFX_VIRTUAL(CAboutDlg) protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV のサポート //}}AFX_VIRTUAL // インプリメンテーション protected: //{{AFX_MSG(CAboutDlg) // メッセージ ハンドラはありません。 //}}AFX_MSG DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD) { //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) //{{AFX_MSG_MAP(CAboutDlg) // メッセージ ハンドラはありません。 //}}AFX_MSG_MAP END_MESSAGE_MAP() // ダイアログを実行するためのアプリケーション コマンド void CMeshEditorApp::OnAppAbout() { CAboutDlg aboutDlg; aboutDlg.DoModal(); } ///////////////////////////////////////////////////////////////////////////// // CMeshEditorApp メッセージ ハンドラ